batch-file - 基于文本批量移动文本文件中的行
问题描述
我收到一个数据记录器文件,它有一个文件输出。我想将基于字符串的行移动到多个文本文件。
我可以让它与下面的批处理文件一起工作,但我想将它自动化,因为数据记录器发送的文本文件总是更改其名称(带有日期)
findstr TiltA HMA_input180529.txt >>output.txt
示例输入 csv ( HMA_input180529.txt )
2019-05-29 08:03:48,TiltA,3.420,19.9,0.5017,0.6903
2019-05-29 09:03:48,TiltB,3.420,19.9,0.3017,0.6903
示例输出csv (TiltA.txt)
2019-05-29 08:03:48,TiltA,3.420,19.9,0.5017,0.6903
我不知道从哪里开始调用所有*.*
文件,然后将新文本文件保存为与找到的字符串相同的名称,例如 TiltA
解决方案
你可以很容易地用一个FOR /F
循环来做到这一点。
for %%f in (*.txt) do (
for /f "tokens=1-6 delims=," %%i in (%%f) do echo %%i,%%j,%%k,%%l,%%m,%%n>"%%j.txt"
)
这假设 的格式token1,TITLE,token3,token4,token5,token6
保持不变。
或者
for %%f in (*.txt) do (
for /f "tokens=2 delims=," %%i in (%%f) do type %%f | find /i "%%i">"%%i.txt"
)
这假设 的格式token1,TITLE,*
保持不变。
推荐阅读
- json - 如何使我的 VB.NET 代码动态而不是静态?
- php - 如果记录存在则查询数据库,如果不存在则回显答案
- function - 如何在 setState 之后保留先例小部件
- java - 为什么 MockMvc 测试建议注入 WebApplicationContext @BeforeEach 测试?
- c++ - 模板化省略号构造函数 C++
- python - 将DataFrame的每一行重复N次以创建一个新的DataFrame(N由另一列定义)
- python - 如何在条形图中从一列列表中绘制词频
- amazon-web-services - COPY 命令从“iam_role”处或附近的 Amazon S3 语法错误加载
- c++ - 排序函数不将参数传递给比较函数
- c++ - 当我尝试在运行时从 psapi.dll (windows) 链接函数时,GetModuleFileNameExA 将无法正常工作