将 CSV 文件与批处理文件合并,每行包含文件名

Rau*_*mor 3 csv merge batch-file

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

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

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

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

我哪里错了?

提前致谢。

MC *_* ND 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
Run Code Online (Sandbox Code Playgroud)

或者更快的方法

@echo off

    break > merged.csv
    for /F "tokens=1,* delims=:" %%f in ('findstr /R "." so_*.csv') do echo %%g,%%f >> merged.csv
Run Code Online (Sandbox Code Playgroud)