Команда 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.