Утилита XCopy или как скопировать папку в командной строке


Утилита XCopy — одно из самых старых и полезных средств перемещения данных. Назначение XCopy состоит в изменении местоположения папок. Проводник во многом заменил эту утилиту, и по возможности мы рекомендуем пользоваться именно им. Тем не менее, существуют несколько важных применений утилиты XCopy:

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

Копирование структуры папок в командной строке xcopy 

Многие используют утилиту XCopy в качестве приложения для архивации, поскольку она замечательно справляется с этой задачей. Вы можете легко скопировать файлы данных из папки на архивный носитель, например, другой жесткий диск, дискету, Zip-накопитель или сетевой накопитель. К сожалению, утилита XCopy не поддерживает такой традиционный носитель, как магнитная лента. Кроме того, носитель, на который производится копирование, должен быть размечен, поэтому XCopy не позволяет записывать файлы на компакт диски.

Как пользоваться? 

Утилита XCopy используется так же, как и стандартная команда копирования — с указанием исходных и целевых файлов. Например, чтобы скопировать все файлы из папки MyDir диска C в одноименную папку диска D, введите команду:

XCopy C:\MyDir\*.* D:\MyDiг\*.*

Затем нажмите клавишу Enter. Утилита XCopy поддерживает набор ключей, наиболее важные из которых перечислены ниже.

Дополнительные ключи 

/A и /M — копируются только архивные файлы. С помощью этих ключей утилиту XCopy можно использовать для архивации. Ключ /M также сбрасывает архивный атрибут с копируемых файлов, что указывает на создание их резервной копии. Таким образом, при использовании XCopy как приложения для архивации следует применять исключительно ключ /M.

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

/G — позволяет копировать зашифрованные файлы в место, не поддерживающее шифрование. Эта функция дешифрирует файл, и для ее выполнения вы должны иметь соответствующие системные права.

/H — копирует скрытые и системные файлы.

/K — копирует атрибуты файлов вместе с самими файлами. В обычном режиме утилита XCopy лишает файлы атрибута «только чтение».

/O и /X — защита скопированных файлов. Ключ /O вместе с файлом копирует информацию о его владельце и таблицу управления доступом. Таблица управления доступом содержит сведения о пользователях, имеющих право доступа к файлу, и действиях, которые они могут с ним вы-полнять. Ключ /X также копирует информацию аудита файла. Эта функция важна при слежении за доступом к файлу.

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

/S и /E — копируют файлы не только из текущей папки, но и из всех вложенных в нее папок. Ключ /E также копирует пустые вложенные папки. Указанные ключи позволяют не только выполнить копирование файлов, но и сохранить структуру папки.

/T — создает копию структуры исходной папки, не копируя никаких файлов. Пользуйтесь этой функцией для создания новых проектов. Иногда бывает полезно лишь повторить структуру папки, не копируя из нее конкретную информацию.

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

/V — проверяет все скопированные файлы, сравнивая их содержимое с исход-ными файлами. Данный ключ увеличивает время копирования, однако его всегда следует использовать при архивации посредством утилиты XCopy. В противном случае есть риск занести в резервную копию поврежденные данные и не узнать об этом.