EDI(電子データ交換)などではよく見かける、ヘッダーレコード、ボディ(本体)レコード、トレーラーレコードの3部構成仕様のCSVレコード(テキスト+カンマ区切りレコード)があったとします。
0,5
1,apple,リンゴ
1,banana,バナナ
1,cat,ネコ
1,dog,イヌ
1,egg,タマゴ
2
上記の例だと、第1項目がレコード区分で、"0" のときヘッダーレコード。"1" がボディレコード、"2" がトレーラーレコードです。ヘッダーレコードの第2項目には、ボディレコードの件数が記載されています。
このような項目数が不揃いな(カンマの個数が不揃いな)CSVレコードの合成には、外部アプリでtypeコマンドを実行させる方法が簡便です。
mix.bat の内容
type header.csv > all.csv
type body.csv >> all.csv
type trailer.csv >> all.csv
[bat] フォルダにmix.batというバッチファイルを用意しておき、その前手順で、3種類のCSVレコードを [bat] フォルダに名前を変えてコピーしておきます。
header.csv … レコード区分 "0" のヘッダーレコード
body.csv … レコード区分 "1" のボディレコード
trailer.csv … レコード区分 "2" のトレーラーレコード
外部アプリとしてmix.batを実行すると、合成されたall.csvが出力されますので、次手順で出力したい場所に名前を付けてファイルコピーします。
typeコマンドのコツは、1種類目を > でそのままリダイレクト出力し、2種類目以降を >> で追記(アペンド)モードでリダイレクト出力する点です。