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