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

1. Описание команды XCOPY.

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

C:\ 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]...]

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

  • источник — Копируемые файлы.
  • целевой_объект — Расположение или имена новых файлов.
  • /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 командной строки переопределяет такую установку.

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

2.1. Выдать краткую справку по использованию команды:

C:\ XCOPY /?

2.2. Скопировать файлы из каталога C:\users в каталог D:\copy1:

C:\ xcopy C:\users D:\copy1

Будет выполняться копирование без подкаталогов и только файлов без атрибутов «Скрытый» и «Системный». Для скопированных файлов будет установлен атрибут Архивный. Если каталог, в который выполняется копирование, не существует, то пользователю будет выдано сообщение:

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

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

2.3. Для подавления запроса на создание целевого каталога используется параметр /I:

C:\ xcopy C:\users D:\copy1 /I

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

C:\ xcopy C:\users D:\copy1 /H /Y /C

Если существующий в целевом каталоге файл имеет атрибут «Только чтение», то копирование не выполняется. Для перезаписи таких файлов используется ключ /R

2.5. Скопировать все файлы и подкаталоги ( /S ) с перезаписью существующих без запроса ( /Y ) , включая скрытые и системные, ( /H ) с перезаписью файлов с атрибутом «Только чтение» (/R) и игнорированием ошибок ( /C ):

C:\ xcopy C:\users D:\copy1 /H /Y /C /R /S

2.6. То же, что и в предыдущем случае, но текстовый файл C:\users\listnotcopy.txt задает признаки исключения из процедуры копирования:

C:\ xcopy C:\users D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt

Пример содержимого файла:

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

2.7. То же, что и в предыдущем примере, но выполняется только копирование исполняемых файлов с расширением .exe:

C:\ xcopy C:\users\*.exe D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt

2.8. Копирование всех файлов с расширением .ini из каталога временных файлов в каталог D:\copy1\ini\:

C:\ xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I

Если целевой подкаталог \ini\ не существует, то он будет создан без запроса пользователю ( /I ) .

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

C:\ xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I /D:09-16-2013

2.10. Создать структуру папок диска C: в каталоге D:\copy1\LISTDIR:

C:\ xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T 

Копирование файлов не выполняется. Копируются только папки, включая пустые, скрытые и системные.

2.11. Воссоздать в каталоге D:\copy1\LISTDIR структуру папок диска C: , с датой изменения 16 сентября 2013 года и позже:

C:\ xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T /D:09-16-2013 

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