Копирование файлов с переименованием cmd

Обновлено: 02.07.2024

Копирует один или несколько файлов из одного расположения в другое.

В консоли восстановления можно также использовать команду Копировать с другими параметрами. дополнительные сведения о консоли восстановления см. в разделе Windows среды восстановления (Windows RE).

Синтаксис

Параметры

Параметр Описание
/d Позволяет сохранить копируемые зашифрованные файлы в виде расшифрованных файлов в месте назначения.
/v Проверяет, правильно ли записаны новые файлы.
/n Использует короткое имя файла (если доступно) при копировании файла с именем длиннее восьми символов или с расширением имени файла длиннее трех символов.
/y Подавляет запрос на подтверждение перезаписи существующего целевого файла.
/-и Выводит запрос на подтверждение перезаписи существующего целевого файла.
/z Копирует сетевые файлы в перезапускаемый режим.
/a Указывает текстовый файл ASCII.
/b Указывает на двоичный файл.
<source> Обязательный. Указывает расположение, из которого необходимо скопировать файл или набор файлов. Источник может состоять из буквы диска и двоеточия, имени каталога, имени файла или их сочетания.
<destination> Обязательный. Указывает расположение, в которое необходимо скопировать файл или набор файлов. Назначение может состоять из буквы диска и двоеточия, имени каталога, имени файла или их сочетания.
/? Отображение справки в командной строке.

Remarks

Можно скопировать текстовый файл ASCII, в котором используется символ конца файла (CTRL + Z), чтобы указать конец файла.

Если параметр /a предшествует или следует за списком файлов в командной строке, он применяется ко всем файлам, перечисленным до тех пор, пока не встретится копия . В этом случае /b применяется к файлу, предшествующему /b.

Действие /a зависит от его расположения в строке командной строки: - Если после Source указано значение /a , команда Copy обрабатывает файл как ASCII-файл и копирует данные, предшествующие первому символу конца файла (Ctrl + Z). - Если параметр /a следует за назначением, команда Copy добавляет символ конца файла (Ctrl + Z) в качестве последнего символа файла.

Если /b указывает интерпретатору команд считывать число байтов, указанное размером файла в каталоге. /b — это значение по умолчанию для Copy, если только копирование не объединяет файлы.

Если /b предшествует или следует за списком файлов в командной строке, он применяется ко всем файлам в списке до тех пор , пока не встретится параметр /a. В этом случае /a применяется к файлу, предшествующему /a.

Действие /b зависит от его позиции в командной строке:-if /b следует за источником, команда Copy копирует весь файл, включая любой символ конца файла (Ctrl + Z). -If /b следует за назначением, команда Copy не добавляет символ конца файла (Ctrl + Z).

Если в переменной среды копикмд предустановлен параметр /y , его можно переопределить с помощью /-и в командной строке. По умолчанию при замене этого параметра выводится запрос, если команда Copy не выполняется в пакетном скрипте.

Чтобы добавить файлы, укажите один файл для назначения, но несколько файлов для источника (используйте символы-шаблоны или формат файла file1 + file2 + файл3 ).

Если во время фазы копирования теряется соединение (например, если сервер переходит в автономный режим), можно использовать копию/z , чтобы возобновить подключение после восстановления подключения. Параметр /z также отображает процент завершения операции копирования для каждого файла.

Имя устройства можно заменить одним или несколькими экземплярами источника или назначения.

Если назначением является устройство (например, COM1 или LPT1), параметр /b копирует данные на устройство в двоичном режиме. В двоичном режиме copy/b копирует все символы (включая такие специальные символы, как CTRL + C, CTRL + S, CTRL + Z и ввод) на устройство в виде данных. Однако если параметр /b не указан, данные копируются на устройство в режиме ASCII. В режиме ASCII специальные символы могут привести к объединению файлов во время процесса копирования.

Если в источнике указано несколько файлов, команда Copy объединяет их в один файл, используя имя файла, указанное в поле назначение. Команда Copy предполагает, что Объединенные файлы являются файлами ASCII, если не используется параметр /b .

Чтобы скопировать файлы длиной 0 байт или скопировать все файлы и подкаталоги каталога, используйте команду xcopy.

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

Где запятые указывают, что конечный параметр был намеренно оставлен.

Примеры

Чтобы скопировать файл с именем memo.doc для letter.doc на текущем диске и убедиться, что символ конца файла (Ctrl + Z) находится в конце скопированного файла, введите:

Чтобы скопировать файл с именем перебора. Typ из текущего диска и каталога в существующий каталог с именем птиц , расположенный на диске C, введите:

Если каталог птиц не существует, файл Renamed . Typ копируется в файл с именем птиц , расположенный в корневом каталоге на диске C.

Чтобы объединить Mar89. rpt, Apr89. rpt и May89. rpt, расположенные в текущем каталоге, и поместить их в файл с именем Report (также в текущем каталоге), введите:

При объединении файлов команда копирования помечает конечный файл текущими датой и временем. Если параметр Destination не указан, файлы объединяются и сохраняются под именем первого файла в списке.

Чтобы объединить все файлы в отчете, если файл с именем Report уже существует, введите:

Чтобы объединить все файлы в текущем каталоге, имеющие расширение имени файла .txt, в один файл с именем Combined.doc, введите:

Чтобы объединить несколько двоичных файлов в один файл, используйте подстановочные знаки, включите /b. это не доWindows расинтерпретации CTRL + Z как символа конца файла. Например, введите:

При объединении двоичных файлов результирующий файл может оказаться непригодным для использования из-за внутреннего форматирования.

Команда XCOPY используется для копирования файлов и каталогов с сохранением их структуры. По сравнению с командой COPY имеет более широкие возможности и является наиболее гибким средством копирования в командной строке Windows

Формат командной строки:

XCOPY источник [целевой_объект] [/A | /M] [/D[:дата]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/EXCLUDE:файл1[+файл2][+файл3]. ]

Параметры командной строки:

источник - Копируемые файлы.

целевой_объект - Расположение или имена новых файлов.

/A - Копирование только файлов с установленным архивным атрибутом; сам атрибут при этом не изменяется.

/M - Копирование только файлов с установленным архивным атрибутом; после копирования атрибут снимается.

/D:m-d-y - Копирование файлов, измененных не ранее указанной даты. Если дата не указана, заменяются только конечные файлы, более старые, чем исходные.

/EXCLUDE:файл1[+файл2][+файл3]. - Список файлов, содержащих строки с критериями для исключения файлов и папок из процесса копирования. Каждая строка должна располагаться в отдельной строке файла. Если какая-либо из строк совпадает с любой частью абсолютного пути к копируемому файлу, такой файл исключается из операции копирования. Например, указав строку \obj\ или .obj, можно исключить все файлы из папки obj или все файлы с расширением OBJ соответственно.

/P - Вывод запросов перед созданием каждого нового файла.

/S - Копирование только непустых каталогов с подкаталогами.

/E - Копирование каталогов с подкаталогами, включая пустые. Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T.

/V - Проверка размера каждого нового файла.

/W - Вывод запроса на нажатие клавиши перед копированием.

/C - Продолжение копирования вне зависимости от наличия ошибок.

/I - Если целевой объект не существует и копируется несколько файлов, считается, что целевой объект задает каталог.

/Q - Запрет вывода имен копируемых файлов.

/F - Вывод полных имен исходных и целевых файлов.

/L - Вывод имен копируемых файлов.

/G - Копирование зашифрованных файлов в целевой каталог, не поддерживающий шифрование.

/H - Копирование, среди прочих, скрытых и системных файлов.

/R - Перезапись файлов, предназначенных только для чтения.

/T - Создание структуры каталогов без копирования файлов. Пустые каталоги и подкаталоги не включаются в процесс копирования. Для создания пустых каталогов и подкаталогов используйте сочетание ключей /T /E.

/U - Копирование только файлов, уже имеющихся в целевом каталоге.

/K - Копирование атрибутов. При использовании команды XСOPY обычно сбрасываются атрибуты "Только для чтения".

/N - Использование коротких имен при копировании.

/O - Копирование сведений о владельце и данных ACL.

/X - Копирование параметров аудита файлов (подразумевает ключ /O).

/Y - Подавление запроса подтверждения на перезапись существующего целевого файла.

/-Y - Запрос подтверждения на перезапись существующего целевого файла.

/Z - Копирование сетевых файлов с возобновлением.

/B - Копирование символической ссылки вместо ее целевого объекта.

/J - Копирование с использованием небуферизованного ввода/вывода. Рекомендуется для очень больших файлов.

Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

Примеры использования XCOPY

XCOPY /? - выдать краткую справку по использованию команды.

Что означает D:\copy1:
имя файла или каталога
(F = файл, D = каталог)? D

После ответа D целевой каталог будет создан и копирование будет выполняться в D:\COPY1\. Для подавления запроса на создание целевого каталога используется параметр /I:

xcopy C:\users D:\copy1 /I

xcopy C:\users D:\copy1 /H /Y /C - копирование файлов, включая скрытые и системные, с подавлением запроса на перезапись существующих и возобновлением при ошибке. Если существующий в целевом каталоге файл имеет атрибут "Только чтение", то копирование не выполняется. Для перезаписи таких файлов используется ключ /R

xcopy C:\users D:\copy1 /H /Y /C /R /S - скопировать все файлы и подкаталоги ( /S ) с перезаписью существующих без запроса ( /Y ) , включая скрытые и системные. ( /H ) с перезаписью файлов с атрибутом "Только чтение" (/R) и игнорированием ошибок ( /C )

xcopy C:\users D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt - то же, что и в предыдущем случае, но текстовый файл C:\users\listnotcopy.txt задает признаки исключения из процедуры копирования. Пример содержимого файла:

\User1\ - исключить из копирования каталог C:\users\user1
All Users исключить из копирования каталог C:\users\All Users
de*.* - исключить из копирования все файлы и каталоги, начинающиеся на буквосочетание "de"

xcopy C:\users\*.exe D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt - то же, что и в предыдущем примере, но выполняется только копирование исполняемых файлов с расширением .exe .

xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I - копирование всех файлов с расширением .ini из каталога временных файлов в каталог D:\copy1\ini\ . Если целевой подкаталог \ini\ не существует, то он будет создан без запроса пользователю ( /I ) .

xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I /D:09-16-2013 - то же, что и в предыдущем примере, но выполняется копирование только тех файлов, у которых установлена дата изменения 16 сентября 2013 года и старше.

xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T - создать структуру папок диска C: в каталоге D:\copy1\LISTDIR . Копирование файлов не выполняется. Копируются только папки, включая пустые, скрытые и системные.

xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T /D:09-16-2013 воссоздать в каталоге D:\copy1\LISTDIR структуру папок диска C: , с датой изменения 16 сентября 2013 года и позже.

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

Полный список команд можно вывести набрав HELP в командной строке.

Команда CD

Текущий каталог можно изменить с помощью команды

Путь к требуемому каталогу указывается с учетом приведенных выше замечаний. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Если запустить команду CD без параметров, то на экран будут выведены имена текущего диска и каталога.

Команда COPY

Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда COPY.

Синтаксис этой команды:

Краткое описание параметров и ключей команды COPY приведено в таблице.

Таблица 1.1. Параметры и ключи команды COPY

Параметр

Описание

Имя копируемого файла или файлов

Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 (<Ctrl>+<Z>)

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

Каталог для размещения результата копирования и/или имя создаваемого файла

Проверка правильности копирования путем сравнения файлов после копирования

Отключение режима запроса подтверждения на замену файлов

Включение режима запроса подтверждения на замену файлов

Приведем примеры использования команды COPY.

Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:

Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:

Копирование всех файлов с расширением txt с диска A: в каталог 'Мои документы' на диске C:

Если не задать в команде целевой файл, то команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую краткую команду:

В качестве источника или результата при копировании можно указывать имена не только файлов, но и устройств компьютера. Например, для того, чтобы распечатать файл abc.txt на принтере, можно воспользоваться командой копирования этого файла на устройство PRN: COPY abc.txt PRN

Другой интересный пример: создадим новый текстовый файл и запишем в него информацию, без использования текстового редактора. Для этого достаточно ввести команду COPY CON my.txt, которая будет копировать то, что вы набираете на клавиатуре, в файл my.txt (если этот файл существовал, то он перезапишется, иначе — создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши <Ctrl>+<Z>.

Команда COPY может также объединять (склеивать) нескольких файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:

Объединение всех файлов с расширением dat из текущего каталога в один файл all.dat может быть произведено так:

Ключ /B здесь используется для предотвращения усечения соединяемых файлов, так как при комбинировании файлов команда COPY по умолчанию считает файлами текстовыми.

Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt. Командой COPY можно воспользоваться и для присвоения какому-либо файлу текущей даты и времени без модификации его содержимого. Для этого нужно ввести команду типа

Здесь запятые указывают на пропуск параметра приемника, что и приводит к требуемому результату.

Команда COPY имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.

Команда XCOPY

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

Синтаксис этой команды:

Команда XCOPY имеет множество ключей, мы коснемся лишь некоторых из них. Ключ /D[:[дата]] позволяет копировать только файлы, измененные не ранее указанной даты. Если параметр дата не указан, то копирование будет производиться только если источник новее результата. Например, команда

скопирует в каталог 'D:\BACKUP\Мои документы' только те файлы из каталога 'C:\Мои документы', которые были изменены со времени последнего подобного копирования или которых вообще не было в 'D:\BACKUP\Мои документы'.

Ключ /S позволяет копировать все непустые подкаталоги в каталоге-источнике. С помощью же ключа /E можно копировать вообще все подкаталоги, включая и пустые.

Если указан ключ /C, то копирование будет продолжаться даже в случае возникновения ошибок. Это бывает очень полезным при операциях копирования, производимых над группами файлов, например, при резервном копировании данных.

Ключ /I важен для случая, когда копируются несколько файлов, а файл назначения отсутствует. При задании этого ключа команда XCOPY считает, что файл назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех файлов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT,

то подкаталог TEXT будет создан без дополнительных запросов.

Ключи /Q, /F и /L отвечают за режим отображения при копировании. При задании ключа /Q имена файлов при копировании не отображаются, ключа /F — отображаются полные пути источника и результата. Ключ /L обозначает, что отображаются только файлы, которые должны быть скопированы (при этом само копирование не производится).

С помощью ключа /H можно копировать скрытые и системные файлы, а с помощью ключа /R — заменять файлы с атрибутом "Только для чтения". Например, для копирования всех файлов из корневого каталога диска C: (включая системные и скрытые) в каталог SYS на диске D:, нужно ввести следующую команду:

Ключ /T позволяет применять XCOPY для копирования только структуры каталогов источника, без дублирования находящихся в этих каталогах файлов, причем пустые каталоги и подкаталоги не включаются. Для того, чтобы все же включить пустые каталоги и подкаталоги, нужно использовать комбинацию ключей /T /E.

Используя XCOPY можно при копировании обновлять только уже существующие файлы (новые файлы при этом не записываются). Для этого применяется ключ /U. Например, если в каталоге C:\2 находились файлы a.txt и b.txt, а в каталоге C:\1 — файлы a.txt, b.txt, c.txt и d.txt, то после выполнения команды

в каталоге C:\2 по-прежнему останутся лишь два файла a.txt и b.txt, содержимое которых будет заменено содержимым соответствующих файлов из каталога C:\1.Если с помощью XCOPY копировался файл с атрибутом "Только для чтения", то по умолчанию у файла-копии этот атрибут снимется. Для того, чтобы копировать не только данные, но и полностью атрибуты файла, необходимо использовать ключ /K.

Ключи /Y и /-Y определяют, нужно ли запрашивать подтверждение перед заменой файлов при копировании. /Y означает, что такой запрос нужен, /-Y — не нужен.

Команда DIR

Еще одной очень полезной командой является DIR [диск:][путь][имя_файла] [ключи], которая используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список. Например, команда

выведет на экран все файлы с расширением bat в корневом каталоге диска C:. Если задать эту команду без параметров, то выводится метка диска и его серийный номер, имена (в коротком и длинном вариантах) файлов и подкаталогов, находящихся в текущем каталоге, а также дата и время их последней модификации. После этого выводится число файлов в каталоге, общий объем (в байтах), занимаемый файлами, и объем свободного пространства на диске. Например:

С помощью ключей команды DIR можно задать различные режимы расположения, фильтрации и сортировки. Например, при использовании ключа /W перечень файлов выводится в широком формате с максимально возможным числом имен файлов или каталогов на каждой строке. Например:

С помощью ключа /A[[:]атрибуты] можно вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R — "Только чтение", A — "Архивный", S — "Системный", H — "Скрытый", префикс "–" имеет значение НЕ). Если ключ /A используется более чем с одним значением атрибута, будут выведены имена только тех файлов, у которых все атрибуты совпадают с заданными. Например, для вывода имен всех файлов в корневом каталоге диска C:, которые одновременно являются скрытыми и системными, можно задать команду

а для вывода всех файлов, кроме скрытых — команду

Отметим здесь, что атрибуту каталога соответствует буква D, то есть для того, чтобы, например, вывести список всех каталогов диска C:, нужно задать команду

Ключ /O[[:]сортировка] задает порядок сортировки содержимого каталога при выводе его командой DIR. Если этот ключ опущен, DIR печатает имена файлов и каталогов в том порядке, в котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не указан, то DIR выводит имена в алфавитном порядке. В параметре сортировка можно использовать следующие значения: N — по имени (алфавитная), S — по размеру (начиная с меньших), E — по расширению (алфавитная), D — по дате (начиная с более старых), A — по дате загрузки (начиная с более старых), G — начать список с каталогов. Префикс "–" означает обратный порядок. Если задается более одного значения порядка сортировки, файлы сортируются по первому критерию, затем по второму и т.д.

Ключ /S означает вывод списка файлов из заданного каталога и его подкаталогов.

Ключ /B перечисляет только названия каталогов и имена файлов (в длинном формате) по одному на строку, включая расширение. При этом выводится только основная информация, без итоговой. Например:

Команды MKDIR и RMDIR

Для создания нового каталога и удаления уже существующего пустого каталога используются команды MKDIR [диск:]путь и RMDIR [диск:]путь [ключи] соответственно (или их короткие аналоги MD и RD). Например:

Команда MKDIR не может быть выполнена, если каталог или файл с заданным именем уже существует. Команда RMDIR не будет выполнена, если удаляемый каталог не пустой.

Команда DEL

Удалить один или несколько файлов можно с помощью команды

Для удаления сразу нескольких файлов используются групповые знаки ? и *. Ключ /S позволяет удалить указанные файлы из всех подкаталогов, ключ /F – принудительно удалить файлы, доступные только для чтения, ключ /A[[:]атрибуты] – отбирать файлы для удаления по атрибутам (аналогично ключу /A[[:]атрибуты] в команде DIR).

Команда REN

Переименовать файлы и каталоги можно с помощью команды RENAME (REN). Синтаксис этой команды имеет следующий вид:

Здесь параметр каталог1|файл1 определяет название каталога/файла, которое нужно изменить, а каталог2|файл2 задает новое название каталога/файла. В любом параметре команды REN можно использовать групповые символы ? и *. При этом представленные шаблонами символы в параметре файл2 будут идентичны соответствующим символам в параметре файл1. Например, чтобы изменить у всех файлов с расширением txt в текущей директории расширение на doc, нужно ввести такую команду:

Команда MOVE

Синтаксис команды для перемещения одного или более файлов имеет вид:

Синтаксис команды для переименования папки имеет вид:

Здесь параметр результирующий_файл задает новое размещение файла и может включать имя диска, двоеточие, имя каталога, либо их сочетание. Если перемещается только один файл, допускается указать его новое имя. Это позволяет сразу переместить и переименовать файл. Например,

Если указан ключ /-Y, то при создании каталогов и замене файлов будет выдаваться запрос на подтверждение. Ключ /Y отменяет выдачу такого запроса.

И в данном посте я рассмотрю замену и копирование файлов через командную строку, а именно, утилиты COPY и REPLACE. Но сперва, как всегда немого лирики.

замена и копирование файлов через командную строку

Пожалуй, любой программист сталкивался с вопросом написания функции для копирования каталога с файлами. Как правило, эти задачи решались при использовании рекурсии. В былые времена, не было мышки и правого клика со вкладкой «копировать, вырезать, вставить», да и синий Волков не сразу появился. Это теперь все так привычно, сидишь за клавиатурой, втыкаешь в зеленое поле Винды, клик туда, клик сюда, и все, задачу решил. Но, бывали и трудные ситуации, когда приходилось прибегать к синему менеджеру. Как не странно, но командная строка и ее утилиты от версии к версии меняют свой вид, Есть даже целый набор утилит типа PsUtils, которые эффективней стандартных ДОСовских. Логический вопрос, кому это все надо! Какой смысл изобретать современного динозавра, йоп те! С другой стороны, такова наша природа человеческая, мы готовы даже велосипед снова изобрести, лишь бы занять свой ум.

Командная строка COPY

Данный шедевр человеческой мысли позволяет произвести копирование (copy) через командную строку файла или файлов или даже их конкатенацию (объединение). Для решения подобных задач север сценариев Windows Script Host предоставляет в распоряжение метод CopyFile объекта FileSystemObject. Синтаксис утилиты командной строки copy, довольно устрашающий:

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B] [+ источник [/A | /B] [+ . ]] [результат [/A | /B]]

/D – указывает на возможность создания зашифрованного файла.

/Y | /-Y – если выбран первый параметр, то будут отсутствовать запросы системы на подтверждение во время копирования (проще говоря, если придется топкой 1000 файлов копировать, то на каждый не будет выпрыгивать надоедливое “а вы уверены, или, может, другу позвоните?”), понятно, что второй параметр как раз то включает запрос подтверждения.

/Z – позволяет копировать данные по сети, кстати, в предыдущих вариантах данной утилиты этого ключа не наблюдалось.

/А – указывает, что файл является текстовым, если мы укажем данный параметр, то копирование прервется на метке конца файла ASCII код 26.

Если же данный параметр указан в самом конце, то эффект совсем другой. Произойдет полное копирование документа, но в копии будет добавлена метка конца файла если ее не было. Как результат, можете попробовать поэкспериментировать с pdf документом (my_file.pdf – размер документа составляет 247217 байт):

copy my_file.pdf/A new_file.pdf – на выходе мы получим документ new_file.pdf размером в 2538 байт.

/B – данный ключ идет по умолчанию и указывает, что файл является бинарным. То есть, происходит копирование всего документа.

/V – данный параметр включает проверку правильности копирования, сравнивая данные после завершения процедуры.

И так командная строка, копирование файлов и парочка примеров:

Копирование через командную строку файла 123.txt из текущего каталога в каталог D:\NEW под тем же именем:

COPY 123.txt D:\NEW

Копирование файла 123.txt из текущего каталога в каталог D:\NEW под новым именем new.txt:

COPY 123.txt D:\NEW\new.txt

Копирование всех документов с расширением txt с диска D:\ в каталог My Data на диске C:

COPY D:\*.txt "С:\My Data"

Допустим, мы находимся в каталоге D:\NEW и нам надо копирнуть в него все данные из каталога C:\DATA, в таком случае достаточно прописать следующий синтаксис:

COPY C:\DATA *.*

Используя командную строку, копируемые файлы можно склеить. Для этих целей достаточно использовать знак плюса «+», например:

COPY 1.txt +2.txt 3.txt– в данном примере содержимое документов 1.txt и 2.txt было объединено в 3.txt. Стоит помнить, что по дефолту, утилита COPY воспринимает данные как текстовые.

Вот пример с двоичными данными:

COPY /В *.dat all.dat – в данном варианте все данные с расширением dat из текущей папки были объединены в один файл all.dat.

Вообще, используя символ плюса «+» и мысли типа «а что если», можно проделать парочку экспериментов. Также стоит помнить ряд моментов:

Если название целевого объекта совпадает с одним из копируемых (кроме первого), то исходное содержимое целевого объекта будет утеряно.

Если имя целевого объекта опущено, то в его качестве будет использован первый объект из списка:.

COPY l.txt+2.txt – тут мы добавили к содержимому первого объекта содержимое второго.

COPY 1.txt +,, – данная конструкция позволяет присвоить объекту 1.txt текущую дату без его модификации.

Утилита COPY по своему первенству содержит ряд недостатков:

  • нельзя производить копирование файлов через командную строку с атрибутами скрытый или системный, а также системных и с атрибутом «Только для чтения».
  • обрыв всего процесса копирования при встрече с объектом, который в данный момент не поддается копированию.

В связи с такими неудобствами, умные люди подумали, и прибавили букву Х к названию COPY, чем решили массу проблем, создав утилиту XCOPY.

Командная строка REPLACE

Фактически, отличие данной утилиты в том, что она умеет заменять данные. Синтаксис довольно простой и понятный:

REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2] [/А] [/Р] [/R] [/W]

REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2] [/Р][/R][/S][/W][/U]

[диск1:] [путь1]имя_файла – определяем местонахождении копируемого объекта, или объектов.

[диск2:] [путь2] — определяем местонахождении объекта-результата. Как видно, имена замещаемых объектов задавать нельзя.

/А – добавляем в каталог-результат только новые объекты из каталога-результата (без перезаписи). Этот ключ нельзя использовать с ключами /S и / U.

/Р – выводится запрос на подтверждение перед заменой целевого или добавлением исходного файла.

/R – замещение не только обычных, но и защищенных от записи документов.

/S – позволяет производить поиск по всем подкаталогам целевого каталога и заменять файлы с совпадающими именами. Этот ключ нельзя использовать совместно с ключом /А. Поиск в каталогах, заданных параметром путь1, не производится.

/W – ожидание вставки диска перед началом выполнения

/U – режим обновления, то есть будут заменены только те объекты, которые имеют более раннюю дату модификации. Несовместимость с ключом /A.

Replace D:\Data\my_file.txt D:\Work – в папке Work заменяем файл my_file.txt на D:\Data\my_file.txt

При копировании файлов через командную строку посредством утилиты REPLACE, отсутствует возможность обновления скрытых или системных файлов. Для этого надо предварительно сменить их атрибуты.

Спасибо за внимание. Автор блога Владимир Баталий

Читайте также: