Как добавить файл в файл с помощью команды 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
- Поместите все файлы в одну папку.
-
copy *.* ´target.ext'
- ????
- Прибыль!