3

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

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

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

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

我哪里出错了?

提前致谢。

4

1 回答 1

5
@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
于 2013-11-06T10:04:23.393 回答