【发布时间】:2014-02-22 15:22:31
【问题描述】:
我希望创建一个 .cmd 文件,该文件过滤文件夹中的所有 .csv 文件,然后创建一组带有结果的 .csv 文件。
这是场景。
一个文件夹中有许多 .csv 文件
csv文件第一列数据包含代码HH??????-XX,
其中?????? 可以是任意一组数字,XX 的范围为 01 to 48
我希望批处理文件从 01 开始 XX,并且在找到 HH??????-01 的位置获取该行并将结果放入名为 -01.csv 的输出文件中
开头的代码HH 可能不同,因此它还必须过滤HH
然后对文件夹中的每个 csv 文件重复此操作。
然后对HH??????-02 重复整个过程,并将文件输出到名为-02.csv 的csv,依此类推,直到-48.csv
我没有太多 - 我根本不是这个领域的专家,只在 VBA 方面
我从网上获得了这个模板,我认为我可以改进它,但我真的不明白我该如何适应它。我不熟悉 FOR 循环
@echo off
del c:\Total.csv
Del c:\Final.csv
Type c:\BATTEST\*.CSV > c:\Total.csv
FOR /F "eol=- delims=~ tokens=1-5,6,7*" %%1 IN ( c:\Total.CSV ) DO IF %%4 EQ 456 ECHO %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 >> c:\Final.csv
.csv 文件中的示例行是:(请记住,HH 可能有所不同)
HH777777-01,A,500,200,10,11,12,13,15.2,17.9,26,B
HH236748-02,C,300,100,11,14,17,19,21.2,18.9,14,B
每个文件都有一个相同的头文件,最好在最终的输出文件中有这个头文件。
标题是
Code,type,head,file,make,run,style,line,edge,model,letter,status
【问题讨论】:
-
我相信文件中的一些实际示例可以帮助人们理解需求(所有
*s 和XXs 都有些混乱)。另外,到目前为止你有什么?你熟悉FOR批量循环吗? -
@mbroshi 感谢您的回复我已经更新了我的帖子以提供更多信息
标签: batch-file csv batch-processing