Команда xcopy: параметры

Xcopy – команда консольного режима операционной системы Windows. Служит для копирования одного или несколько файлов и (или) папок из одного места в другое. Она также является командой операционной системы MS-DOS. Благодаря множеству опций и возможности копировать целые каталоги xcopy похожа на традиционную copy, но обладает гораздо большими возможностями. Если же требуется еще большая функциональность, то операционная система располагает командой robocopy, которая оперирует еще большим числом параметров.

Синтаксис

Формат командной строки следующий:

xcopy источник [приемник] [/a] [/b] [/c] [/d [:дата]] [/e] [/f] [/g] [/h] [/i] [/j] [/k] [/l] [/m] [/n] [/o] [/p] [/q] [/r] [/s] [/t] [/u] [/v] [/w] [/x] [/y] [/-y] [/z][/exclude:file1[+file2][+file3]...] [/?]

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

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

/a

При использовании этой опции будут копироваться только архивные файлы, найденные в источнике. Нельзя применять /a и /m одновременно.

/b

Данный параметр применяется для копирования символьной ссылки, а не того, но что она ссылается. Впервые появился в Windows Vista.

Эта опция вынуждает xcopy продолжать работу даже в случае возникновения ошибки.

/d [: дата]

Команда xcopy с опцией /d и следующей за ней конкретной датой в формате MM-ДД-ГГГГ предназначена для копирования файлов, измененных в указанный день или позже. Также можно использовать этот параметр без определенного временного значения, чтобы выбрать только те части источника, которые новее документов с таким же именем в приемнике. Применяется для выполнения обычного резервного копирования файлов.

При использовании отдельно или с опцией /s действие параметра совпадает с /s, но также создает пустые папки в приемнике, если они были такими в источнике. Ключ /e тоже можно использовать вместе с /t. Это позволяет включить пустые каталоги и подкаталоги, найденные в исходной директории, в структуру каталогов, создаваемую в месте назначения.

/f

Данная опция отображает полный путь и имя исходного и целевого файлов.

/g

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

/h

Xcopy по умолчанию не копирует скрытые или системные файлы, но с данным параметром может это сделать.

/i

Используется данный параметр, чтобы xcopy не спрашивал, файлом или каталогом является получатель. Если не применить эту опцию и выполнить копирование из источника, который представляет собой каталог или группу файлов, в несуществующее место назначения, то утилита предложит указать, чем именно является целевой объект.

/j

Эта опция копирует файлы без буферизации. Данная функция полезна для очень больших объемов данных. Впервые этот параметр xcopy появился в Windows 7.

/k

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

/l

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

/m

Этот параметр идентичен опции /a, но после копирования команда хсору отключит атрибут архива. Во всех остальных случаях этот атрибут будет присвоен всем файлам в приемнике, независимо от того, имели ли они его в источнике. Нельзя использовать /m и /a одновременно.

/n

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

Сохраняет информацию о владельце и списке контроля доступа (ACL) в скопированных файлах.

При использовании данной опции пользователь должен будет подтвердить создание каждого файла целевого объекта.

/q

Опция противоположна /f. Данный параметр xcopy переводит выполнение в «тихий» режим, отключая экранное отображение информации о каждом скопированном файле.

/r

Данная опция используется для перезаписи файлов, открытых только для чтения, в месте назначения. Если этот параметр не применяется при обновлении данных в приемнике, то будет выведено сообщение Access denied («Отказано в доступе») и команда xcopy остановит работу.

/s

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

/t

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

/u

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

/v

Этот параметр активирует проверку размера каждого записываемого файла для подтверждения его идентичности. Верификация была встроена в команду xcopy, начиная с Windows XP, поэтому в более поздних версиях Windows эта опция ничего не делает и включена только для совместимости с MS-DOS.

/w

Параметр используется для вывода сообщения “Press any key when ready to being copying file(s)” («Нажмите любую клавишу, когда будете готовы к копированию файла (ов)»). При этом xcopy начинает выполнять инструкции только после подтверждения операции нажатием клавиши. Эта опция не дублирует ключ /p, который активирует подтверждение копирования каждого файла.

Этот параметр копирует установки аудита файла и информацию о списке управления доступом к системе (SACL). Когда используется опция /x, выполняется ключ /o.

/y

Опция используется, чтобы команда xcopy не запрашивала подтверждения перезаписи файлов из источника, уже существующих в приемнике. И наоборот, параметр /-y форсирует запросы на перезапись. Этот ключ может показаться излишним, поскольку такое поведение команды xcopy заложено по умолчанию, но опция /y на некоторых компьютерах может быть задан в переменной окружения COPYCMD, что вызывает необходимость этого параметра.

/z

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

/exclude: file1 [+file2] [+file3]

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

/?

При использовании данного ключа будет выведена подробная справка. Выполнение xcopy /? аналогично команде help xcopy. Пользователь может сохранить вывод, который иногда бывает очень длинным, в файле с помощью оператора перенаправления.

Примеры

  • xcopy C:\Files E:\Files /i

В приведенном выше команде данные, содержащиеся в исходном каталоге C:\Files, копируются в пункт назначения, который является новой папкой Files [/i] на диске E. Никакие подкаталоги или файлы, содержащиеся в них, не будут реплицированы, поскольку не был использован ключ /s.

  • xcopy "C: \Important files " D:\Backup /c /d /e /h /i /k /q /r /s /x /y

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

Вышеуказанная командная строка означает, что xcopy используется для копирования всех файлов и папок [/s], дата которых новее, чем у уже находящихся в приемнике [/d], в том числе пустых[/е] и скрытых [/h], из источника C: \Important files в целевой объект D:\Backup, который является каталогом [/i]. Кроме того, имеются данные, предназначенные только для чтения, которые следует реплицировать [/r] с сохранением этого атрибута после записи [/k]. Также должны сохраняться все настройки управления доступом [/x]. Наконец, поскольку xcopy должна запускаться в пакетном режиме, нет необходимости в выводе информации о копируемых объектах [q], как и в подтверждении перезаписи каждого из них [/y]. Остановка при возникновении ошибки тоже нежелательна [/c].

  • xcopy C:\Видео "\\SERVER\Медиа бэкап" /f /j /s /w /z

Здесь команда xcopy используется для копирования всех папок с файлами, содержащихся в подкаталогах [/с], из источника “C:\Видео” в целевую директорию “Медиа бэкап”, расположенную в сети на компьютере под названием SERVER. Поскольку выполняется сохранение видео действительно большого размера, то для улучшения процесса отключается буферизация [/j], а так как это происходит по сети, то предусматривается возможность возобновления копирования при потере связи [/z]. В данном случае пользователь желает получить запрос на подтверждение запуска процесса еще до того, как xcopy действительно что-нибудь сделает [/w], а также желает видеть подробную информацию о том, какие файлы записываются [/f].

  • xcopy C:\Client032 C: \Client033 /t /e

В этом примере имеется источник с хорошо организованным каталогом текущего клиента в C: \Client032. При этом уже создана папка Client033 для нового клиента, но пользователь не хочет копировать файлы, а только структуру директорий [/t], чтобы не делать этого вручную. Кроме того, в C:\Client032 имеется несколько пустых каталогов, которые могут понадобиться для нового клиента, поэтому следует убедиться, что они тоже будут воспроизведены [/e].

Доступность

Команду можно вызвать из командной строки всех операционных систем Windows, включая Windows 8, 7, Vista, XP, 98 и т. д. Также xcopy поддерживается операционной системой MS-DOS. Следует отметить, что доступность некоторых параметров команды и ее синтаксис в различных ОС может отличаться.

Варианты

В Windows 98 и 95 доступны 2 версии команды: xcopy и xcopy32. Тем не менее последняя из них никогда не предназначалась для запуска напрямую. При выполнении xcopy в Windows 95 или 98 автоматически запускается либо исходная 16-разрядная версия (в режиме MS-DOS), либо выполняется новая 32-разрядная версия (в Windows). Поэтому, независимо от того, какая версия операционной системы есть в наличии, необходимо всегда запускать команду xcopy, а не xcopy32, даже если она доступна. При выполнении первой всегда будет использоваться наиболее подходящая версия.

Комментарии