複数の.csvファイルが含まれるフォルダーを取得し、MS DOSを使用してこれらのファイルとその中のすべての情報を1つのファイルに結合しようとしています。助言がありますか?
copy *.csv new.csv
Csvはバイナリファイルタイプではないため、/ bは必要ありません。
copy /b file1 + file2 + file3 newfile
各ソースファイルは、+
を使用してコピーコマンドに追加する必要があり、リストされている最後のファイル名は、連結されたデータのコピー先になります。
これがバッチスクリプトの一部である場合(.bat
file)ファイルのリストが大きい場合、複数行の^
、およびオプションの/Y
フラグは、既存の宛先ファイルを上書きすることを確認するプロンプトを抑制します。
REM Concatenate several files to one
COPY /Y ^
this_is_file_1.csv + ^
this_is_file_2.csv + ^
this_is_file_3.csv + ^
this_is_file_4.csv + ^
this_is_file_5.csv + ^
this_is_file_6.csv + ^
this_is_file_7.csv + ^
this_is_file_8.csv + ^
this_is_file_9.csv ^
output_file.csv
これは、1行でコマンドを実行するよりもきれいです。
ファイル名を正しく並べ替えて、正しく結合する必要があります!
file1.bin file2.bin ... file10.bin
正しく動作しない
file01.bin file02.bin ... file10.bin
will適切に動作する
c:>for %i in (file*.bin) do type %i >> onebinary.bin
ASCIIファイルまたはバイナリファイルで機能します。
for %f in (filenamewildcard0, filenamewildcard1, ...) do echo %f >> newtargetfilename_with_path
マイクTと同じアイデア。 MessyDogの127文字のコマンドライン制限でより適切に動作する可能性があります
type data1.csv > combined.csv
type data2.csv >> combined.csv
type data3.csv >> combined.csv
type data4.csv >> combined.csv
等.
ヘッダーなしのファイルを使用し、すべてのファイルに同じ列があると仮定します。