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

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

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

COPY FILE1+FILE2=FILE1

оформление временного файл file3 ненужных.

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

это также было то, что получение правильный порядок был importiant, иначе вы получите пустой ФАЙЛ1.

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

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

EDIT:

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

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

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

EDIT:

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

* вздох *

EDIT:

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

это была не проблема с моей машиной, это была проблема с 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

10 ответов


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

насчет type file2 >> file1


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


@echo off

cls

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

exit

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

предупреждение: если у вас есть список файлов, которые вы хотите объединить с помощью команды COPY, это просто, но потенциально может уничтожить ваши файлы.

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

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

Безопасный Способ:

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


ты copy /b file1 + file2 file1


copy /b input1 + input2 output
del input1
ren output input1
Может, это? : P


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

подождите! Есть еще! (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 файл(ы) скопирован", он просто не любит файлы с забавными именами.


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