Параметры и примеры Xcopy

Копирует файлы и директории, включая вложенные директории. Работает в командной строке Windows.

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

xcopy источник [целевой_объект] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z]

Параметры :

источник : обязательный параметр. Определяет расположение и имена файлов которые вам нужно скопировать. Данный параметр должен включать устройство или путь.

целевой_объект : Опеределяет место назначения копируемых файлов. Может включать в себя букву диска с двоеточием, имя директории, имя файла, или комбинацию их.

/w : отображает сообщение "Press any key to begin copying file(s)" и ждет вашего ответа прежде чем начать копирование файлов.

/p : будет выдавать запрос перед созданием каждого файла.

/c : игнорирование ошибок.

/v : проверяет каждый файл после их записи на идентичность исходным. В Windows XP он не используется. Оставлен для совместимости с MS-DOS файлами

/q : тихий режим. Не выводит сообщения во время работы.

/f : отображает имена файлов при копировании.

/l : отобразить имена файлов которые будут копироваться.

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

/d[:mm-dd-yyyy] : копировать файлы которые изменены позже указаной даты, включаю указанную. Если не указать значение mm-dd-yyyy (месяц-день-год), xcopy будет копировать файлы которые более новые чем в папке назначения. Вообщем эта команда позволяет обновить файлы, которые изменились.

/u : копировать только те файлы которые уже есть в папке назначения. Т.е. обновить их.

/i : если источник это директория или содержит wildcards ( ну типа * ) и целевой_объект не указан, то xcopy предполагает что целевой_объект это директория и создает ее. По умолчанию xcopy запрашивает у вас целевой_объект это директория или файл.

/s : директории и поддиректории в которых нет файлов будут пропущены. Если опустить этот параметр, xcopy работает внутри одной директории.

/e : копировать все поддиректории, даже если они пустые. Эквивалентен сочетанию ключей /s /e. Совместим с ключом /t.

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

/k : при копировании сохраняется атрибут "только для чтения". По умолчанию он сбрасывается.

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

/h : копировать скрытые и системные файлы. По умолчанию xcopy не копирует эти файлы.

/a : копировать файлы у которых имеется атрибут архива. Сам атрибут при этом сохраняется. Для установки этого атрибута можно использовать команду attrib.

/m : почти тоже что и с ключем /a, только в данном случае атрибут архива будет сбрасываться у исходных файлов.

/n : делает имена файлов и папок короткими. Может понадобиться в случае копирования с FAT на NTFS. Потомучто FAT ( 8.3 символа ) не поддерживает длинные имена как NTFS.

/o : копируется информация о пользователе файла и информация DACL (discretionary access control list).

/x : копирование параметров аудита файлов и информация SACL (подразумевает ключ /o).

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

/y : чтобы не спрашивал когда нужно перезаписать уже существующий файл.

/-y : противоположность ключу /y .

/z : копировать по сети в возобновляемом режиме.

/? : вывести помощь. Подсказки по параметрам команды.

xcopy help

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

Как скопировать папку в другую папку, сохранив при этом ее разрешения

Когда копируете файлы и папки в проводнике Windows, разрешения этих файлов и папок изменятся. Файлы будут помечены как новые, и наследуют разрешения папки в которую копируем. В качестве создателя файла будет указана ваша учетка.

Примечание: У вас должны быть права на запись в папку которую собираетесь копировать файлы.

Для сохранения первоначальных разрешений файлов, вам нужно воспользоваться следующими параметрами /O, /X, /E, /H и /K, которые означают следующее:

  • /E - Копирует все файлы и папки, включая пустые.
  • /H - Копирует также скрытые и системные файлы.
  • /K - Копирует атрибуты. По умолчанию команда "Xcopy" снимает атрибут "Только чтение".
  • /O - Копирует информацию о владельце и ACL.
  • /X - Копирует настройки аудита (требуется параметр "/O").

Примечание: Данная процедура не отменяет наследуемые разрешения. Будут применяны следующие наследуемые разрешения:

  • Настройки безопасности, примененные непосредственно к файлам и папкам, сохраняются.
  • Настройки безопасности, унаследованные от папки назначения, теряются.
  • Настройки безопасности папки назначения наследуются.
  • При перемещении файлов или папок на диск с файловой системой FAT, данные файлы и папки теряют свои разрешения NTFS, так как разделы FAT не поддерживают разрешения NTFS.

Пример

xcopy c:\oldfolder c:\newfolder /O /X /E /H /K, где "oldfolder" - это папка, содержащая копируемые файлы, а "newfolder" - это папка назначения.

В современных версиях Windows удобнее использовать программу Robocopy