web-dev-qa-db-ja.com

複数のファイルを1つのファイルにコピーするMS DOS

複数の.csvファイルが含まれるフォルダーを取得し、MS DOSを使用してこれらのファイルとその中のすべての情報を1つのファイルに結合しようとしています。助言がありますか?

16
edmon
copy *.csv new.csv

Csvはバイナリファイルタイプではないため、/ bは必要ありません。

32
marto
copy /b file1 + file2 + file3 newfile

各ソースファイルは、+を使用してコピーコマンドに追加する必要があり、リストされている最後のファイル名は、連結されたデータのコピー先になります。

19
Marc B

これがバッチスクリプトの一部である場合(.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行でコマンドを実行するよりもきれいです。

4
Mike T

ファイル名を正しく並べ替えて、正しく結合する必要があります!

file1.bin file2.bin ... file10.bin正しく動作しない

file01.bin file02.bin ... file10.binwill適切に動作する

c:>for %i in (file*.bin) do type %i >> onebinary.bin

ASCIIファイルまたはバイナリファイルで機能します。

2
James Foote
for %f in (filenamewildcard0, filenamewildcard1, ...) do echo %f >> newtargetfilename_with_path

マイクTと同じアイデア。 MessyDogの127文字のコマンドライン制限でより適切に動作する可能性があります

1
ColdFultonBSD
type data1.csv > combined.csv
type data2.csv >> combined.csv
type data3.csv >> combined.csv
type data4.csv >> combined.csv

等.

ヘッダーなしのファイルを使用し、すべてのファイルに同じ列があると仮定します。

0
Codebeat