it-swarm.com.ru

Как добавить файл, используя команду COPY

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

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

COPY FILE1+FILE2=FILE1

Создание ненужного временного файла FILE3.

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

Раньше также считалось, что получение правильного заказа было важно, иначе вы бы получили пустой ФАЙЛ1.

Но сегодня, когда я попробовал это, он оставил 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
15
James K

Windows 8 x86:

 Microsoft Windows [Версия 6.2.9200] 
 (C) 2012 Microsoft Corporation. Все права защищены .

 C:\Users\Nikos> echo foo> file1 

 C:\Users\Nikos> echo bar> file2 

 C:\Users\Nikos > копировать/b файл1 + файл2 файл1 
 файл1 
 файл2 
 1 файл (ов) скопирован .

 C:\Users\Nikos> тип file1 
 Foo 
 Bar 
28
nikos1993pl

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

4
nikos1993pl
@echo off

cls

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

exit
2
keval

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

2
wmz

Ответ: « Как добавить файл, используя команду COPY » 

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

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

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

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

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

2
Emil
 C:\Users\Nikos> тип file1 
 Foo 
 Bar 

 C:\Users\Nikos> копировать file1 + con = file1 
 File1 
 Con 
 ihdui 
 ohisd 
 ^ Z 
 1 файл (ов) скопирован .

 C:\Users\Nikos> тип file1 
 Foo 
 Bar 
 Ihdui 
 Ohisd 
1
nikos1993pl

Вы пробовали copy /b file1 + file2 file1

1
nikos1993pl

Подождите! Есть больше! (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
david

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

1
nikos1993pl

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

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

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

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

0
Nigel