Команда XCOPY

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

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

XCOPY источник [результат] [ключи]

Команда XCOPY имеет множество ключей, ниже дано описание некоторых из них.

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

Например, команда

XCOPY "C:Мои документы*.*" "D:BACKUPМои документы" /D

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

Ключ /S позволяет копировать все непустые подкаталоги в каталоге-источнике.

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

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

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

XCOPY *.txt TEXT /I

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

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

С помощью ключа /H можно копировать скрытые и системные файлы, а с помощью ключа /R — заменять файлы с атрибутом "Только для чтения".

Например, для копирования всех файлов из корневого каталога диска C: (включая системные и скрытые) в каталог SYS на диске D:, нужно ввести команду:

XCOPY C:*.* D:SYS /H

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

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

XCOPY C:1 C:2 /U

в каталоге C:2 по-прежнему останутся лишь два файла a.txt и b.txt, содержимое которых будет заменено содержимым соответствующих файлов из каталога C:1.

Если с помощью XCOPY копировался файл с атрибутом "Только для чтения", то по умолчанию у файла-копии этот атрибут снимется. Для того, чтобы копировать не только данные, но и полностью атрибуты файла, необходимо использовать ключ /K.

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