将CSV文件与批处理文件合并,包括每行中的文件名

时间:2013-11-06 09:42:50

标签: batch-file csv merge

通过上一个问题搜索找不到任何匹配的矿井。

我需要一个批处理文件,它将匹配通配符的文件夹中的所有CSV文件合并到新的合并CSV文件中,并且在每个合并行中,它将在每个传输的字符串末尾添加原始文件名。我尝试了这个不起作用的命令:

for /F "tokens=1* delims=" %%i in (^"SO_*.csv^") do @echo %%i,%%~ni >> MERGED.csv

它没有拾取行,它只是选取“SO _ *。csv”以及第一个实际文件的文件名,将它们放入MERGED.csv并停止。

我哪里出错了?

提前致谢。

1 个答案:

答案 0 :(得分:3)

@echo off
    break > merged.csv
    for %%f in (so_*.csv) do for /F "tokens=*" %%g in ('type "%%f"') do echo %%g,%%f >> merged.csv

或者更快的方法

@echo off

    break > merged.csv
    for /F "tokens=1,* delims=:" %%f in ('findstr /R "." so_*.csv') do echo %%g,%%f >> merged.csv
相关问题