Как добавить файл в файл с помощью команды COPY

Я запускаю Windows 7 Ultimate x64, но мой опыт восходит к DOS 3.0.

Поскольку, как и DOS 3.1, вы можете добавить файл в другой с помощью команды COPY:

COPY FILE1+FILE2=FILE1

Отсутствие необходимости в временном FILE3.

Это была очень удобная команда, поскольку всякий раз, когда вы добавляли новую программу, вам часто приходилось обновлять файлы CONFIG.SYS и AUTOEXEC.BAT.

Раньше также было, что правильный порядок был импортивным, иначе у вас будет пустой FILE1.

Но сегодня, когда я это пробовал, он оставил FILE1 нетронутым, и когда я отменил порядок, он (понятно) сделал FILE1 копией FILE2.

Кто-нибудь знает, был ли он заменен другим методом, и когда это изменение произошло?

РЕДАКТИРОВАТЬ:

Я делал больше тестов и, как ни странно, хотя приведенный выше код не работает, вы все равно можете сделать копию с консоли и добавить ее в существующий файл:

copy file1+con=file1
Type some text to append to file1
^Z ([CTRL]+Z the End Of File character)

Мне интересно, как моя версия Windows каким-то образом перепуталась. Может ли какой-нибудь орган повторить мои выводы?

РЕДАКТИРОВАТЬ:

Он работает в режиме 95/98/ME/2000/XP/XP/7 Professional x64/8 x64. Поэтому я предполагаю, что это не проблема 7 Ultimate x64, а проблема с моей машиной.

* Вздох *

РЕДАКТИРОВАТЬ:

Последнее редактирование, я обещаю. :)

Это не проблема с моей машиной, это проблема с File1. По-видимому, когда я впервые добавлял File2 к нему, [CTRL] +Z (символ EOF) никогда не перезаписывался, заставляя файл выглядеть следующим образом:

Original Data
Original Data
[EOF]
Appended Data
Appended Data
Appended Data

Вы можете дублировать это самостоятельно со следующим экспериментом из командной строки. (Где ^ Z - символ [CTRL] +Z)

В командной строке введите:

copy con file1
File One
^Z^Z

copy con file2
File Two
^Z

copy con file3
File Three
^Z

copy file1+file2=file1

copy file2+file3=file2

TYPE file1
TYPE file2

Ты увидишь:

file1

File One

file2

File Two
File Three

Вы можете type file2 >> file1 или использовать практически любой другой способ конкатенации файлов, а когда вы file1 он все равно останется только File One. НО, если вы используете FIND "searchterm" file для анализа файла, он покажет вам, что ДЕЙСТВИТЕЛЬНО происходит. В этом случае введите:

FIND " " file1

И вы будете вознаграждены:

---------- FILE1
File One
→File Two

Ответ 1

Windows 8 x86:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Users\Nikos>echo foo>file1

C:\Users\Nikos>echo bar>file2

C:\Users\Nikos>copy /b file1 + file2 file1
file1
file2
        1 file(s) copied.

C:\Users\Nikos>type file1
foo
bar

Ответ 2

Как насчет type file2 >> file1

Ответ 3

убедитесь, что вы начинаете со свежих файлов, которые вы никогда не пытались скопировать.
Я только что обнаружил, что на моей (XP sp3) copy a+ba без /b добавляет 1A (SUB) в конец файла, который делает что-либо после его исчезновения с вывода type (но more это покажет). Copy/b a+ba работает.

Ответ 4

@echo off

cls

type "file2.txt" >> "file1.txt"

exit

Ответ 5

Ответ на вопрос: " Как добавить файл в файл с помощью команды COPY "

ПРЕДУПРЕЖДЕНИЕ. Если у вас есть список файлов, которые вы хотите объединить с помощью команды COPY, это просто, но может потенциально уничтожить ваши файлы.

Опасный путь:

copy/b one + two + three - добавит содержимое "два" и "три" в файл "один". Таким образом, исходный "один" теперь содержит 3 файла в правильной последовательности. Если во время процесса копирования дела идут не так, у вас не будет способа восстановить оригинал "один", поскольку он будет поврежден, и ваши данные будут по существу потеряны. Там почти никогда не было причин использовать этот путь.

Безопасный путь:

copy/b one + two new_filename - объединит 2 файла (вы можете перечислить более двух, конечно), создав new_filename, содержащий "один" и "два" в правильной последовательности, и оставив исходные файлы неповрежденными.

Ответ 6

Вы пытались copy/b file1 + file2 file1

Ответ 7

copy/b input1 + input2 output
del input1
ren output input1
Может быть, это? :П

Ответ 8

C:\Users\Nikos>type file1
foo
bar

C:\Users\Nikos>copy file1+con=file1
file1
con
ihdui
ohisd
^Z
        1 file(s) copied.

C:\Users\Nikos>type file1
foo
bar
ihdui
ohisd

Ответ 9

Подождите! Больше! (Win7 Pro)

>ver

Microsoft Windows [Version 6.1.7601]

>copy file.a.txt + file.b.txt file.ab.txt
file.a.txt
1 file(s) copied

>copy fileA.txt + fileB.txt fileAB.txt
fileA.txt
fileB.txt
1 files(s) copied

Отложив в сторону "1 файл скопированное" уведомление ", он просто не любит файлы со смешными именами.

Ответ 10

Чтобы скопировать в двоичный файл...

Поместите все файлы в одну папку, например, G:\Files

g:
cd Files
copy /B *.* TargetFilename.ext

и .ext - тип требуемого файла

Ответ 11

  1. Поместите все файлы в одну папку.
  2. copy *.* ´target.ext'
  3. ????
  4. Прибыль!