В MS DOS копирование нескольких файлов в один файл

Я пытаюсь взять папку, которая имеет несколько .csv файлы в нем и объединить все эти файлы и информацию в них, в один файл с помощью MS DOS. Есть предложения?

7 ответов


copy *.csv new.csv

нет необходимости в /b, поскольку csv не является двоичным типом файла.


copy /b file1 + file2 + file3 newfile

каждый исходный файл должен быть добавлен в команду copy с +, и последнее имя файла будет указано, куда копируются объединенные данные.


если это часть пакетного сценария (.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

это аккуратнее, чем выполнение команды в одной строке.


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

та же идея, что и Mike T; может работать лучше под 127-символьным ограничением командной строки MessyDog


имена файлов должны правильно сортировать, чтобы правильно комбинировать!

file1.bin file2.bin ... file10.bin не будет работать должным образом

file01.bin file02.bin ... file10.bin будет работать

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

работает для ASCII или двоичных файлов.


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

etc.

предположим, что ваши файлы без заголовков И все файлы имеют одинаковые столбцы.


убедитесь, что вы сопоставили диск y: или скопируйте все файлы в локальный каталог c:/local

c:/local> копия *.* c:/newfile.txt