Windowsバッチファイル(コマンド)の挙動に関して相談させてください。 複数のCSVを結合する(先頭のヘッダを除き)バッチを以下サイトや類似の他サイトを参照に利用しています。 https://qiita.com/mihonak/items/dd8e49737bac09f66d00 【バッチのコード】概ね↑の通りです。 ーーーーーーーーーーーーーーーーーーー setlocal enabledelayedexpansion set /a counter=0 for /f %%i in ('dir /b *.csv') do ( echo %%i if !counter!==0 ( set /p _head=<%%i echo !_head!>>result.csv ) set /a counter=!counter!+1 for /f "tokens=* skip=1" %%b in (%%i) do ( echo %%b>>result.csv ) ) ーーーーーーーーーーーーーーーーーーー 【状況】 ファイル1レコード:1,2,tt T,4,5,zz Z,6 ファイル2レコード:1,2,tt! T,4,5,zz! Z,6 を結合したら以下になりました。 ↓ 1,2,tt T,4,5,zz Z,6 1,2,tt Z,6 【問題点】(ファイル1レコードの出力は問題ない) ファイル2の!から!までが省かれて出力されてしまうのです。 このような状態を回避する方法をご存知の方いらっしゃいますでしょうか。 コマンドの不具合として割り切るべきでしょうか。 【備考】CSVの中身はいじれない前提でバッチコードで回避できる方法を教えてください。
プログラミング