Команда COPY
Копирует в заданное место один или более файлов.  Данную команду можно также использовать для комбинирования файлов. При копировании более  одного файла MS-DOS выводит на экран имя каждого копируемого файла.
     COPY [/Y /-Y][/A /B] источник [/A /B] [+ источник
          [/A /B] [+ ...]][приемник [/A /B]] [/V]
Параметр "источник"  задает расположение и имя файла или набора файлов,  которые вы хотите копировать. Источник может содержать буквенную метку диска и двоеточие,  имя каталога,  имя файла или их сочетание.  Параметр "приемник" задает расположение и  имя файла или набора файлов,  в которые вы хотите выполнить копирование. Приемник задается аналогично источнику. 
Параметр /Y  указывает,  что  вы хотите использовать команду COPY для замены существующих файлов без запроса на подтверждение. По умолчанию,  если в качестве целевого файла задается существующий файл, COPY будет запрашивать, хотите ли вы затереть существующий файл (в предыдущих версиях MS-DOS это происходило без запроса).  При использовании команды COPY в командных файлах она будет вести  себя как в предыдущих версиях.  Указание данного параметра переопределяет все назначения по умолчанию  и  текущую  установку переменной операционной среды COPYCMD. 
Параметр /-Y показывает,  что вы хотите,  чтобы команда COPY при замене существующего файла выводила запрос на  подтверждение. Указание данного параметра переопределяет все назначения по умолчанию и текущую установку переменной операционной среды COPYCMD. 
Параметр /A указывает текстовый файл ASCII.   В файле ASCII для указания  конца  файла  можно использовать символ конца файла (CTRL+Z). При комбинировании файлов COPY по умолчанию интерпретирует текстовые файлы как файлы ASCII. Когда /A предшествует списку имен файлов в командной строке, он применяется ко всем файлам, имена которые  следуют за /A,  пока COPY не обнаруживает параметр /B (в этом случае /B применяется ко всем  файлам,  имена  которых предшествуют  параметру /B).  Когда параметр /A следует за именем файла,  он применяется ко всем файлам, имена которых предшествуют параметру /A, и ко всем файлам, имена которых следуют за /A, пока COPY не обнаруживает параметр /B (в этом случае /B применяется ко всем файлам, имена которых предшествуют параметру /B). 
Параметр /B указывает двоичный файл.  Он задает, что интерпретатор команд должен считывать  число  байт,  заданных  размером файла  в каталоге.  Параметр /B - используется по умолчанию (если COPY не применяется для комбинирования файлов).  Когда  /B  предшествует списку имен файлов в командной строке, он применяется ко всем файлам,  имена которых следуют за /B, пока COPY не обнаруживает  параметр  /A  (в этом случае /A применяется ко всем файлам, имена которых предшествуют параметру /A).  Когда параметр /B следует за именем файла,  он применяется ко всем файлам, имена которых предшествуют параметру /B,  и ко всем файлам,  имена  которых следуют за /B, пока COPY не обнаруживает параметр /A (в этом случае /A применяется ко всем файлам, имена которых предшествуют параметру /A). 
/V проверяет корректность записи новых файлов. О копировании каталогов  и подкаталогов подробнее рассказывается в описании команды XCOPY. 
Установка переменной операционной среды COPYCMD
Чтобы определить вывод в командах COPY, MOVE и XCOPY запроса на подтверждение при перезаписи файла при указании их в командной строке или в командной файле,  можно использовать переменную операционной среды COPYCMD. 
Чтобы команды COPY,  MOVE и XCOPY во всех  случаях  выводили запрос,  установите  в переменной операционной среды COPYCMD /-Y. Чтобы эти команды затирали файлы без запроса, установите переменную COPYCMD в /Y. 
Указание любой из этих команд с параметром /Y или /-Y переключает значения по умолчанию и установку переменной  операционной среды COPYCMD. 
Копирование на устройства и с устройств
В источнике  или  приемнике вы можете указывать имя устройства. При копировании на устройство используйте параметр /B. Когда приемником является устройство (например,  COM1 или LPT2),  параметр /B приводит к тому, что MS-DOS копирует данные на устройство в  двоичном  режиме,  в котором все символы,  включая специальные (такие как CTRL+C,  CTRL+S, CTRL+Z, и возврат каретки) копируются на устройство как данные. Отсутствие /B вызывает копирование данных на устройство в режиме ASCII.  При  этом  перечисленные  выше специальные  символы  вызывают  при копировании специальные действия. 
Если вы не задаете целевого файла, то MS-DOS создает копию с тем же именем,  датой и временем создания,  что и исходный  файл, помещая новую копию в текущий каталог на текущем диске.  Если исходный файл находится на текущем диске и в  текущем  каталоге,  а целевой диск и файл не задаются, то команда COPY останавливается, и MS-DOS выводит сообщение:
     File cannot be copied onto itself
     0 File(s) copied
     (Файл невозможно скопировать сам в себя,
     скопировано 0 файлов.)
Если MS-DOS не может проверить операцию записи, то она выводит сообщение об ошибке. Кроме того, параметр /V замедляет выполнение команды, поскольку MS-DOS должна проверять каждый записываемый на диск сектор. 
Если MS-DOS не может проверить корректность операции записи, то на экран выводится сообщение об ошибке.  Хотя при работе с командой COPY  ошибки  происходят редко,  параметр /V позволяет вам проверить корректность записи важных данных. Однако этот параметр замедляет  выполнение команды COPY поскольку MS-DOS должна проверить каждый записываемый на диск сектор. 
Действие параметров /A или /B зависит от позиции в командной строке. Если они следуют за именем исходного файла, то COPY работает следующим образом.  /A приводит к  интерпретации  файла  как файла ASCII (текстовый файл) и копированию данных, предшествующих первому символу конца файла.  COPY не копирует символ конца файла и остаток файла.  Параметр /B приводит к копированию всего файла, включая символ конца файла. 
Когда параметр /A или /B следует за именем  целевого  файла, COPY выполняет следующие действия. При задании /A в качестве последнего символа файла добавляется символ конца файла. Если указано /B, то символ конца файла не добавляется. 
Если вы  задаете  более одного исходного файла,  разделяя их символом +,  то COPY комбинирует файлы, создавая один новый файл. При использовании в качестве исходных файлов трафаретных символов и задании  в  качестве  целевого файла единственного имени,  COPY комбинирует все файлы,  имена которых соответствуют трафарету источника,  и создает один файл с именем, заданным в качестве имени файла-приемника. 
В любом  случае  COPY при отсутствии параметра /B предлагает комбинированный список файлов ASCII (не комбинируйте  нетекстовые файлы без параметра /B,  поскольку это может привести к их усечению). 
Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. При этом COPY выводит следующее сообщение:
     Content of destination lost before copy
     (Перед копированием содержимое приемника теряется)
Если вы хотите присвоить файлу текущие дату и время,  не модифицируя его,  то задайте команду в следующем  формате  (запятые указывают на пропуск параметра приемника):
     copy /b source+,,
где source - исходный файл.  Чтобы скопировать все файлы в подкаталогах, следует использовать команду XCOPY. 
COPY не копирует файлы нулевой длины: такие файлы удаляются. Для копирования таких файлов используйте XCOPY. 
Приведем некоторые примеры.  Следующая команда копирует файл и обеспечивает включение в него символа конца файла:
     copy data1.doc data2.doc /a
Чтобы скопировать несколько файлов в один, перечислите в источнике любое число файлов (разделив их плюсом) и задайте имя результирующего файла:
     copy mon.txt + tue.txt + wen.txt tree.txt
При этом файлы текущего диска и каталога mon.txt,  tue.txt и wen.txt объединяются и помещаются в файл tree.txt (также в  текущем каталоге). Целевой файл будет иметь текущую дату и время. Если опустить имя этого файла,  MS-DOS использует в качестве приемника первый файл из списка. 
Команда copy *.doc total.doc комбинирует все файлы в текущем каталоге в один файл total.doc.  Если  вы  хотите  скомбинировать несколько двоичных файлов, укажите параметр /B, например:
     copy /b *.exe sup.exe
Это предотвращает  интерпретацию  CTRL+Z  как  конца   файла (правда, такая команда не даст в результате выполняемого файла). 
Следующая команда копирует то,  что вы набираете с клавиатуры, в файл protoc.dat:
     copy con protoc.dat
     Для завершения ввода нажмите CTRL+Z.
Назад | Содержание | Вперед