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 に答える