Команда XCOPY - копирование файлов и каталогов. Утилиты copy и replace - копирование и замена файлов через командную строку

В отличии от утилиты COPY, команда XCOPY тоже дает возможность скопировать файл через командную строку, но имеет большее количество функции. Однако, стоит отметить, что XCOPY дает возможность работать лишь с файлами и каталогами, но не с устройствами (например, принтер). Но, как всегда, сначала немного лирики…

В былые времена у меня был диск с операционной системой Windows XP Sp1, в то время не было установочных дисков с авто запуском, поэтому приходилось сначала входить в командную оболочку, а уже потом запускать на диске установочный файл. Диск был довольно уже пошарпан, виднелись маленькие дырочки, но как не странно, с помощью старого доброго Волков Коммандера мне удавалось скопировать все файлы через командную строку, хотя и не с первой попытки. Мало того, порой были времена когда система слетала под корень, и мне приходилось вручную производить копирование с одного винта на другой, занимало это сутки…

Командная строка xcopy

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

[+ файл 3]...]

Источник – указываем путь к файлу (файлам), который нужно скопировать.

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

/V – как и в предшествующей версии, данный параметр отвечает за проверку телесности документов, но, уже не является обязательным, поскольку проверка осуществляется самой системой. Он остался лишь для совместимости с предыдущими версиями MS-DOS.

/EXCLUDE:файл1[+файл 2][+ файл 3]… – позволяет исключить несколько файлов или папок из процесса копирования. Тут все просто, надо только указать имена объектов, которые следует исключить, но, нельзя использовать спецсимволы, типа «*» и «?». Ключи файл1, файл2, … указывают на документы, в которых прописаны строки, каждая строка должна находится в отдельной линии. Если же хоть одна из строк будет совпадать с любой частью абсолютного пути копируемого документа, то скопировать с помощью командной строки данный файл не получится. Допустим в каталоге D:DATA есть три документа с расширением txt: data1.txt, data2.txt и data3.txt. Откроем CMD и пропишем в ней следующие команды:

echo data1.txt>exclude.txt

echo data2.txt>>exclude.txt

В данном примере мы создали в текущем каталоге текстовый документ exlude.txt, в котором прописаны две строчки data1.txt и data2.txt. Символ «>>» отличается от символа «>» только тем, что дописывает данные в конец документа, а не затирает все содержимое новой информацией. Ладно, теперь попробуем выполнить следующие директивы:

XCOPY *.txt D:DATA /EXCLUDE: exclude.txt – в данном примере из текущей папки в папку D:DATA мы скопировали все документы с расширение txt кроме файлов data1 и data2.

Другой пример, если указать строки вида OBJ или.OBJ, то из процесса будут исключены все объекты из папки OBJ и все объекты с расширением.OBJ.

/Z – позволяет дублировать сетевые документы с возобновлением.

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

и /M – задаем режим для архивных документов. Первый ключ после дублирования объекта оставляет у него атрибут «Архивный», второй же ключ отключает этот атрибут по завершении процесса манипуляций.

/O – данный параметр позволяет скопировать только те данные, которые были изменены не ранее указанной даты (дата у указывается в атрибуте /D[:дата], если сама дата не указана, то копирование будет производиться, только если источник новее результата). Например:

XCOPY "С:My document*.*" "D:RESERVEMy document" /D

Тут будет произведено копирование только тех файлов через командную строку, которые были изменены со времени последнего подобного манипулирования или которых вообще не было в D: RESERVEMy document.

/S – данный ключ указывает, что кроме документов надо произвести и копирование папки, при условии, что она (они) не является пустой.

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

/W – будет включен режим запроса на нажатие любой клавиши перед началом дублирования.

/C – процесс копирования будет продолжен, даже если произошла ошибка

/I – Данный ключ говорит, что объект назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех объектов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT:

XCOPY *.txt TEXT /I

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

/Q – этот ключ не будет отображать имена во время процесса

/F – этот ключ будет отображать полные пути источника и результата во время процесса

/L – это ключ всего-навсего отобразит те документы, которые надо скопировать, при этом сам процесс не произойдет.

/H – позволяет дублировать скрытые и системные документы.

/K - заменять объекты с атрибутом “Только для чтения”

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

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

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

/N – копирование с помощью командной строки с использованием сгенерированных коротких имен.

Как уже упоминалось выше, при использовании утилит COPY и XCOPY информация о прежнем владельце затирается. Что бы этого не происходило, можно воспользоваться командой SCOPY из пакета Resource Kit , которая имеет следующий синтаксис:

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

– позволяет дублировать информацию о владельце

– дублирование информации связанной с аудитом доступа к файлу или каталогу

/S – копирование файлов через командную строку из всех подкаталогов указанного каталога.

Запись в потоки NTFS

И еще, хотелось бы вспомнить о таком понятии как «копирование в потоки». Данный вопрос я частично затронул в статье с примерами по при описании метода объект FileSystemObject. Данная возможность предоставляется только на файловой системе NTFS. В простом варианте суть дела такова, к каждому документу или диску можно привязать свой поток, и записать информацию непосредственно в поток, то есть, информация будет записана, но сам документ не изменит своего размера. Давайте проделаем простенький эксперимент, пропишем в командной строке:

echo “Hellow, word”>new.txt:potok.txt – в данном примере мы создали текстовый документ new.txt, а фразу Hellow, word скопировали в поток potok.txt. Если выполнить команду notepad new.txt, то мы ничего не увидим, но, если выполнить так:

notepad new.txt.potok.txt – то мы увидим заветную фразу Hellow, word.

Командная строка xcopy команда.

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

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

Синтаксис

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

xcopy источник [приемник ] ] [+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 на диске E. Никакие подкаталоги или файлы, содержащиеся в них, не будут реплицированы, поскольку не был использован ключ /s.

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

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

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

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

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

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

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

Доступность

Команду можно вызвать из командной строки всех операционных систем 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, даже если она доступна. При выполнении первой всегда будет использоваться наиболее подходящая версия.

Небольшой урок, который поможет Вам разобраться, как применять основные операции с текстом в командной строке (cmd) Windows 7 — копирование, выделение, вставку.

Многие пытаются пользоваться сочетаниями клавиш для копирования (Ctrl+C), вставки (Ctrl+V), вырезания текста (Ctrl+X) и выделения всего текста (Ctrl+A). Однако, насколько Вы уже догадались, данный способ не работает в командной строке, т.к. она воспринимает клавишу Ctrl как символ:

Поэтому, если Вы еще не догадались, то скажу, что нужно использовать банальное контекстное меню. Но, Вы бы не задались вопросом и не читали бы эту статью, если бы все было так гладко. Контекстное меню работает безупречно, если нужно вставить какую-либо команду в строку. То же самое, если нужно выделить весь текст в окне программы:

Однако скопировать выделенный текст уже не так то и просто. При попытке нажать правой кнопкой мыши на выделенный текст выделение тут же снимается. А если нажать Ctrl+C выделение также снимется, а в строке появится белиберда, изображенная в первой картинке этой статьи. Как быть? Ни за что не догадаетесь))) Варианта аж два.

1. Нужно нажать правой кнопкой на шапку окна … Далее пункт меню «Изменить» и выбрать «Копировать». Там же будут и остальные пункты контекстного меню.

2. Выделив весь текст просто нажать клавишу ENTER

Теперь о том, как выделить фрагмент текста в командной строке. Кликните в любое место окна программы и выберите пункт меню «Поменить». Далее воспользуйтесь мышью, чтобы выбрать определенный фрагмент. После этого воспользуйтесь одним из способов выше, чтобы скопировать выделенный текст (самый быстрый — нажать клавишу Enter).

Вот и все. Если статья помогла — ставьте лайки и обращайте внимание на сайты наших партнеров))) Заранее благодарен.

И в данном посте я рассмотрю замену и копирование файлов через командную строку, а именно, утилиты COPY и REPLACE. Но сперва, как всегда немого лирики.

Пожалуй, любой программист сталкивался с вопросом написания функции для копирования каталога с файлами. Как правило, эти задачи решались при использовании рекурсии. В былые времена, не было мышки и правого клика со вкладкой «копировать, вырезать, вставить», да и синий Волков не сразу появился. Это теперь все так привычно, сидишь за клавиатурой, втыкаешь в зеленое поле Винды, клик туда, клик сюда, и все, задачу решил. Но, бывали и трудные ситуации, когда приходилось прибегать к синему менеджеру. Как не странно, но командная строка и ее утилиты от версии к версии меняют свой вид, Есть даже целый набор утилит типа PsUtils, которые эффективней стандартных ДОСовских. Логический вопрос, кому это все надо! Какой смысл изобретать современного динозавра, йоп те! С другой стороны, такова наша природа человеческая, мы готовы даже велосипед снова изобрести, лишь бы занять свой ум.

Командная строка COPY

Данный шедевр человеческой мысли позволяет произвести копирование (copy) через командную строку файла или файлов или даже их конкатенацию (объединение). Для решения подобных задач север сценариев предоставляет в распоряжение метод объекта FileSystemObject. Синтаксис утилиты командной строки copy, довольно устрашающий:

COPY источник [+ источник [+ ...]] [результат ]

Давайте начнем:

/D – указывает на возможность создания зашифрованного файла.

/Y | /-Y – если выбран первый параметр, то будут отсутствовать запросы системы на подтверждение во время копирования (проще говоря, если придется топкой 1000 файлов копировать, то на каждый не будет выпрыгивать надоедливое “а вы уверены, или, может, другу позвоните? ”), понятно, что второй параметр как раз то включает запрос подтверждения.

/Z – позволяет копировать данные по сети, кстати, в предыдущих вариантах данной утилиты этого ключа не наблюдалось.

– указывает, что файл является текстовым, если мы укажем данный параметр, то копирование прервется на метке конца файла ASCII код 26.

Если же данный параметр указан в самом конце, то эффект совсем другой. Произойдет полное копирование документа, но в копии будет добавлена метка конца файла если ее не было. Как результат, можете попробовать поэкспериментировать с pdf документом (my_file.pdf – размер документа составляет 247217 байт):

copy my_file.pdf/A new_file.pdf – на выходе мы получим документ new_file.pdf размером в 2538 байт.

/B – данный ключ идет по умолчанию и указывает, что файл является бинарным. То есть, происходит копирование всего документа.

/V – данный параметр включает проверку правильности копирования, сравнивая данные после завершения процедуры.

И так командная строка, копирование файлов и парочка примеров:

Копирование через командную строку файла 123.txt из текущего каталога в каталог D:\NEW под тем же именем:

COPY 123.txt D:\NEW

Копирование файла 123.txt из текущего каталога в каталог D:\NEW под новым именем new.txt:

COPY 123.txt D:\NEW\new.txt

Копирование всех документов с расширением txt с диска D:\ в каталог My Data на диске C:

COPY D:\*.txt "С:\My Data"

Допустим, мы находимся в каталоге D:\NEW и нам надо копирнуть в него все данные из каталога C:\DATA, в таком случае достаточно прописать следующий синтаксис:

COPY C:\DATA *.*

Используя командную строку, копируемые файлы можно склеить. Для этих целей достаточно использовать знак плюса «+», например:

COPY 1.txt +2.txt 3.txt – в данном примере содержимое документов 1.txt и 2.txt было объединено в 3.txt. Стоит помнить, что по дефолту, утилита COPY воспринимает данные как текстовые.

Вот пример с двоичными данными:

COPY /В *.dat all.dat – в данном варианте все данные с расширением dat из текущей папки были объединены в один файл all.dat.

Вообще, используя символ плюса «+» и мысли типа «а что если», можно проделать парочку экспериментов. Также стоит помнить ряд моментов:

Если название целевого объекта совпадает с одним из копируемых (кроме первого), то исходное содержимое целевого объекта будет утеряно.

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

COPY 1.txt +, – данная конструкция позволяет присвоить объекту 1.txt текущую дату без его модификации.

Утилита COPY по своему первенству содержит ряд недостатков:

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

В связи с такими неудобствами, умные люди подумали, и прибавили букву Х к названию COPY, чем решили массу проблем, создав .

Командная строка REPLACE

Фактически, отличие данной утилиты в том, что она умеет заменять данные. Синтаксис довольно простой и понятный:

REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2]

REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2]

[диск1:] [путь1]имя_файла – определяем местонахождении копируемого объекта, или объектов.

[диск2:] [путь2] - определяем местонахождении объекта-результата. Как видно, имена замещаемых объектов задавать нельзя.

– добавляем в каталог-результат только новые объекты из каталога-результата (без перезаписи). Этот ключ нельзя использовать с ключами /S и / U .

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

/R – замещение не только обычных, но и защищенных от записи документов.

/S – позволяет производить поиск по всем подкаталогам целевого каталога и заменять файлы с совпадающими именами. Этот ключ нельзя использовать совместно с ключом . Поиск в каталогах, заданных параметром путь1, не производится.

/W – ожидание вставки диска перед началом выполнения

/U – режим обновления, то есть будут заменены только те объекты, которые имеют более раннюю дату модификации. Несовместимость с ключом /A .

Replace D:\Data\my_file.txt D:\Work – в папке Work заменяем файл my_file.txt на D:\Data\my_file.txt

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

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

Параметры утилиты XCOPY

xcopy источник [результат] ] ] [{/a|/m}] ][+[файл3]] [{/y|/-y}]

  • источник - Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь.
  • результат - Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию.
  • /w - Выводит следующее сообщение с ожиданием подтверждения начала копирования: Нажмите любую клавишу, чтобы начать копирование файлов
  • /p - Запрашивает подтверждение при создании каждого файла-результата.
  • /c - Игнорирует ошибки.
  • /v - Проверяет каждый скопированный файл на соответствие его оригиналу.
  • /q - Отменяет вывод на экран сообщений команды xcopy.
  • /f - Выводит имена исходных файлов и файлов-результатов в процессе копирования.
  • /l - Отображает список копируемых файлов.
  • /g - Создает незашифрованные файлы-результаты.
  • /d[:мм-дд-гггг] - Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
  • /u - Копирует (обновляет) только те файлы-источники, которые уже существуют в каталоге результата.
  • /i - Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат - это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.
  • /s - Копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.
  • /e - Копирует все подкаталоги, включая пустые. Параметр /e используется с параметрами /s и /t.
  • /t - Копирует только структуру подкаталога (т. е. дерево), а не файлы. Для копирования пустых каталогов следует задать ключ /e.
  • /k - Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут. По умолчанию команда xcopy удаляет атрибут «только для чтения».
  • /r - Копирует файлы с атрибутом «только для чтения».
  • /h - Копирует системные и скрытые файлы. По умолчанию команда xcopy не копирует системные и скрытые файлы.
  • /a - Копирует только те файлы, которые имеют установленный атрибут «архивный». При использовании параметра /a атрибут "архивный" у исходных файлов не меняется. Сведения об установке атрибутов с помощью команды attrib см. по ссылке «См. также».
  • /m - Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов. Сведения об установке атрибутов с помощью команды attrib см. по ссылке «См. также».
  • /n - Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS.
  • /o - Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL).
  • /x - Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL) (подразумевается наличие /p).
  • /exclude:файл1[+[файл2]][+[файл3]] - Определяет список файлов, содежащих строки.
  • /y - Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
  • /-y - Выдает запрос на подтверждение перезаписи существующего конечного файла.
  • /z - Копирует по сети в режиме перезапуска.

Примеры команды XCOPY

Чтобы копировать все файлы и подкаталоги (включая пустые подкаталоги) с диска D на диск E, введите.