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

Команда XCOPY реализована во всех версиях PC-DOS и MS-DOS начиная с версии 3.2. Она позволяет выполнять следующие операции:
- копировать каталоги со всеми подкаталогами и размещенными в них файлами, а следовательно, и магнитные диски в целом (за исключением скрытых файлов);
- создавать в процессе копирования отсутствующие на целевом диске каталоги файлов;
- копировать файлы выборочно, в зависимости от состояния архивного атрибута файлов;
- копировать только файлы, модифицированные позднее указанной даты;
получать копии, расположенные на нескольких дискетах;
- использовать всю свободную оперативную память для буферизации операций обмена с дисками при копировании.

Команда XCOPY реализована в виде автономной программы, загрузочный модуль которой занимает в памяти около 11 Кбайт, что эквивалентно примерно половине объема интерпретатора командной строки COMMAND.COM, занимающего около 25 Кбайт (для версии 3.3). После сопоставления этих цифр становится ясно, что реализация функций XCOPY в резиденте системы не целесообразна.

Следует отметить, что XCOPY в отличие от COPY не поддерживает терминальные устройства последовательного доступа, так как в арсенале внешнего сервиса DOS эти средства имеются для каждого типа устройств в отдельности.
По сравнению с командой BACKUP, описанной ниже, XCOPY обладает существенным достоинством - возможностью доступа к отдельным файлам копии.

НАЗНАЧЕНИЕ. Команда XCOPY предназначена для копирования файлов. Однако по сравнению с COPY она предоставляет пользователю существенно более широкие сервисные возможности, а также позволяет повысить скорость передачи файлов за счет более рациональной буферизации ввода-вывода при обмене с магнитными дисками.

ОПИСАНИЕ. Алгоритм выполнения команды XCOPY аналогичен алгоритму COPY, за исключением буферизации обмена с дисками. COPY читает файлы только по одному и сразу после считывания информации из очередного исходного файла, на магнитном диске формируется соответствующий целевой файл. XCOPY считывает столько файлов, сколько возможно разместить в буфере, занимающем всю свободную оперативную память и только потом записывает его содержимое в целевые файлы.
Это отличие сказывается на времени копирования файлов тем существеннее, чем больше файлов переписывается за одну команду и чем меньше их размеры. Например, при перезаписи пяти-семи небольших файлов время копирования по команде XCOPY может оказаться в полтора-два раза меньше, чем при использовании команды COPY.
Сокращение времени обмена происходит из-за уменьшения количества вспомогательных физических операций доступа к данным, выполняемых при обмене с магнитными дисками, таких как: выбор рабочей поверхности (загрузка/разгрузка магнитных головок), включение/выключение двигателя, позиционирование магнитных головок и некоторых других. Перечисленные операции - наиболее длительные по времени, что ведет к существенному увеличению быстродействия операции копирования.
Если за именем целевого накопителя в командной строке следует еще одно имя, XCOPY выдает уточняющий запрос:
Does "имя" specify a file name or directory name on the target (F = file, D = directory)?
(Как трактовать введенное имя - как имя каталога или как имя файла? F - файл, D - каталог).
Причина вывода этого запроса - неоднозначность ситуации, в которой невозможно определить, является ли указанное имя именем файла или каталога. Например, при вводе команды, приведенной в примере 38, система не знает, что означает специфицированное имя G2 - имя целевого файла или имя целевого каталога. В случае существования каталога с именем G2 запроса бы не было и XCOPY однозначно разместила бы целевой файл под именем G2.K22 в каталоге G2.

Для получения копии, расположенной на двух или более дискетах, необходимо провести следующие операции:
- установить архивный атрибут для всех перезаписываемых файлов с помощью команды ATTRIB;
- ввести команду копирования XCOPY с ключом /М;
- после появления сообщения
Insufficient disk space
(свободное пространство на диске отсутствует)
или кода завершения 4, загрузить свободную целевую дискету;
- повторить команду XCOPY с теми же параметрами.
В процессе выполнения этой операции смена дискет повторяется до тех пор, пока не будет скопирована вся необходимая информация.

Работая с командой XCOPY, нужно учитывать следующие ограничения:
- XCOPY копирует файлы только с магнитных носителей и не работает с терминальными устройствами;
- XCOPY не копирует файлы, защищенные от записи, а также скрытые файлы;
- в качестве имени файла по умолчанию XCOPY использует шаблон *.* ;
- ключ /А в командах COPY и XCOPY имеет разное значение;
- если символы переадресации установлены в целевой спецификации команды, переадресовываются только сообщения, выдаваемые самой командой XCOPY;
- при копировании файлов на гибкие магнитные диски длина копируемого файла не должна превышать размера свободного пространства целевого диска (в отличие от команды BACKUP).
Коды завершения команды XCOPY:
0 - нормальное завершение;
1 - не найдено ни одного файла для копирования;
2 - преждевременное завершение после ввода пользователем CTRL/C (CTRL/BREAK);
4 - ошибка инициализации, вызванная отсутствием достаточного свободного пространства на магнитном диске;
5 - фатальная ошибка.
Причины формирования кода 4:
- не готов целевой привод магнитных дисков;
- в выводной спецификации командной строки допущена синтаксическая ошибка;
- не найден каталог;
- диск переполнен.

Причина установки кода 5 - фатальная ошибка, возникшая при обмене с магнитным диском. В подобных случаях стандартные драйверы ввода-вывода инициируют прерывание 24Н. Если пользовательская программа не переадресовала на себя вектор прерывания 24Н, то система выведет сообщение
Error reading (or writing) drive x: Abort, Ignore, Retry? (Ошибка при чтении (или записи) на диске х: Удалить, Игнорировать, Повторить?).
Если ошибка произошла при обмене с жестким диском, то дополнительно выведется четвертый вариант выхода из сбойной ситуации:
Fail?
(Отказаться?).
Код 5 устанавливается, если пользователь в ответ на данный запрос выбрал вариант ABORT.
Код завершения может быть проанализирован с помощью переменной ERRORLEVEL и команды IF в пакетном файле.
Команда XCOPY внешняя, выполняется программой, загрузочный модуль которой содержится в файле XCOPY.EXE.

ФОРМАТ.
[маршрут1 XCOPY спец.файла1 [спец.файла2]
Спецификация маршрут - каталог, содержащий файл загрузочного модуля программы XCOPY. Она необходима, если этот каталог не текущий и не альтернативный.

Спец.файла1 - спецификация копируемых файлов, включающая имя накопителя, маршрут, имена и расширения имен файлов. Шаблоны "*" и "?" разрешены. Если в данной спецификации имя и расширение имени файла не указаны, то по умолчанию принимается *.* .

Спец.файла2 - спецификация целевых файлов. Она включает имя накопителя, маршрут, имена и расширения имен файлов. Шаблоны "*" и "?" разрешены.
Ключ /А позволяет копировать только файлы, для которых установлен архивный атрибут.
Ключ /0:дд-мм-гг устанавливает режим копирования только файлов, модифицированных за период времени начиная: указанного числа и до текущего момента.
Ключ /Е задает режим, в котором на целевом накопителе:оздаются подкаталоги, соответствующие подкаталогам источника (в случае их отсутствия), даже если каталоги на исходном диске пустые (не содержат файлов). Этот ключ нужно ис- тользовать вместе с ключом /S.

По ключу /М, как и по ключу /А, копируются только фхивные файлы, но у целевых файлов сбрасывается архивный [трибут.
Ключ /Р - вывод запросов на подтверждение необходимо- ти копирования каждого файла.
Ключ /S - копирование не только файлов текущего каталога, но и файлов, содержащихся в подкаталогах. Соответствующие подкаталоги на целевом накопителе создаются автоматически.
Ключ /V - установка режима верификации при записи на диск на время копирования (аналогично режиму VERIFY ON).
Ключ /W - запуск указанной операции копирования файлов только после ответа на дополнительную подсказку. В этом случае программа XCOPY перед началом копирования выдаст следующее сообщение:
Press any key when ready to start copying files
(Для запуска операции копирования файлов нажмите какую-
нибудь клавишу).

Отмена режима копирования обеспечивается кодом CTRL- С, запуск - нажатием любой алфавитно-цифровой клавиши, пробела или .

Пример 38.
С:\>хсору g2.k22 a:g2
Does G2 specify a file name or director^" name on the target (F - file, О - directory)?
После ввода "F" файл будет скопирован, о чем выведется сообщение
Reading source file(s)... G2.K22
1 File(s) copied
C:\>

В результате в корневом каталоге на накопителе А: появится файл-копия с именем G2 без расширения имени файла.
Пример 39.
С:\>хсору g2.k22 a:g2
Does G2 specify a file name or directory name on the target (F - file, D - directory)?

После ввода "D" файл будет скопирован и выведется сообщение
Reading source fiie(s)... G2.K22
1 File(s) copied
C:\>

В результате в корневом каталоге на приводе А: появится каталог с именем G2, содержащий целевой файл G2.K22 .

Пример 40.
С:\>хсору con: read.txt
CON File not found
0 File(s) copied
C:\>

В этом примере показана попытка ввода с клавиатуры. Так как команда XCOPY с консолью не работает, она рассматривает имя консоли, как обычное имя файла. Такой файл отсутствует, о чем и свидетельствует сообщение об ошибке.
Пример 41. С:\>хсору *.* а:
Reading source file(s)...
G2.K22
G1.K22
G6.K22
G4.K22
G5.K22
G0.K22
G3.K22
7 File(s) copied

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

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

xcopy источник [целевой_объект] ] ] [{/a|/m}] ][+] [{/y|/-y}]

Параметры:

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

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

/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

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

Когда копируете файлы и папки в проводнике 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 удобнее использовать программу

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

Команда имеет синтаксис: XCOPY источник [целевой_объект] ] ] [+файл3]...]. Как видите здесь присутствует множество различных параметров и ключей. Попробуем разобрать их.

Команда XCOPY может определять режим копирования для файлов с установленным архивным атрибутом. Посмотреть, установлен или нет архивный атрибут можно в свойствах файла. Если команда XCOPY используется с ключом /A , то копироваться будут файлы с установленным архивным атрибутом. Для примера, создадим на диске «С» папку «papka2» и поместим в нее несколько текстовых файлов. У одного из этих файлов снимем архивный атрибут через свойства файла. Тогда команда xcopy papka2 d:\ /a скопирует только те файлы, у которых архивный атрибут установлен. В моем примере я поместил в папку «papka2» 3 текстовых файла: «file1.txt», «file2.txt», «file3.txt». У файла «file1.txt» я снял архивный атрибут. В результате, этот файл не скопировался на диск «D».

Если у команды XCOPY установлен ключ /M , то копироваться будут файлы с установленным архивным атрибутом, при этом, у исходных файлов архивный атрибут будет сброшен. Например, команда xcopy papka2 d:\ /m скопирует из папки «papka2» все файлы с установленным архивным атрибутом и поместит их на диск «D». Причем у исходных файлов будет сброшен архивный атрибут.

Ключ /D:MM-DD-YY позволяет копировать файлы с указанной или более поздней датой. Например, пусть в папке «papka» находится несколько файлов, причем один из этих файлов имеет последнюю дату изменения 24 апреля 2012, а остальные файлы 22 апреля 2012. Тогда команда xcopy papka d:\ /D:04-23-2012 скопирует только тот файл, который имеет дату изменения 23 апреля 2012 либо более позднюю дату. Обратите внимание на формат записи даты: сначала указывается месяц, потом число, потом год.

Если ключ /D не имеет параметр «дата», то копироваться будут файлы, которые были изменены со времени последнего копирования, либо новые файлы, созданные после последнего копирования. Например, пусть в папке «papka» находится несколько файлов. Скопируем их на диск «D»

Теперь откроем один из исходных файлов (в каталоге «papka» на диске «C») и изменим его (напишем какой-нибудь текст и сохраним). Тогда команда xcopy papka d:\ /d скопирует только этот измененный файл. В моем случае я сделал изменения в файле «file.txt». В результате, только этот файл скопировался, остальные 4 файла не копировались.

Ключ /S команды XCOPY позволяет копировать все непустые подкаталоги из каталога-источника. Для примера, создадим на диске «C» каталог «MyFolder1», в этом каталоге создадим еще 2 каталога: «MyFolder2» и «MyFolder3», в каталоге «MyFolder2» создадим текстовый файл «file1.txt». Все это можно сделать средствами командной строки, зная те команды, которые мы уже изучили. Каталоги создаем с помощью команды MD (MKDIR), а текстовый файл создаем с помощью команды COPY с параметром CON.

Теперь скопируем непустые каталоги из каталога «MyFolder1» на диск «D»: xcopy myfolder1 d:\ /s

В результате, на диск «D» будет скопирована одна папка «MyFolder2» из папки «MyFolder1», а папка «MyFolder3» не будет скопирована, т.к. она пустая.

Ключ /E команды XCOPY применяется в случаях, когда необходимо скопировать все подкаталоги из текущего каталога (в том числе и пустые подкаталоги). Для примера, запишем предыдущую команду, заменив ключ /S на ключ /E

В результате, на диск «D» будут скопированы обе папки «MyFolder2» и «MyFolder3». Обратите внимание, что приведенные выше команды копируют только подкаталоги. Сам текущий каталог («MyFolder1») не копируется.

Ключ /P команды XCOPY выводит запрос с подтверждением при создании нового файла при копировании. Например, создадим на диске «С» файл «f3.txt» и скопируем его на диск «D»: xcopy f3.txt d:\ /p

Ключ /W команды XCOPY перед копированием выводит на экран сообщение «Нажмите любую клавишу, чтобы начать копирование файлов». Перепишем предыдущую команду, заменив ключ /P на ключ /W: xcopy f3.txt d:\ /w

Команда COPY

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

источникИмена одного или нескольких копируемых файлов.

/AФайл является текстовым файлом ASCII.

/BФайл является двоичным файлом.

результатКаталог и/или имя для конечных файлов.

/VПроверка правильности копирования файлов.

/N Использование, если возможно, коротких имен при копировании файлов, чьи имена не удовлетворяют стандарту 8.3.

/Y Подавление запроса подтверждения на перезапись существующего конечного файла.

/-Y Обязательный запрос подтверждения на перезапись существующего конечного файла.

Ключ /Y можно установить через переменную среды COPYCMD.

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

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

Команда XCOPY

Чтобы объединить файлы, укажите один конечный и несколько исходных файлов, используя подстановочные знаки или формат "файл1+файл2+файл3+...". Копирование файлов и структур каталогов.

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

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

источник Копируемые файлы.

результат Местоположение и/или имена новых файлов.

/A Копирование только файлов с установленным архивным атрибутом. Сам атрибут при этом не изменяется.

/M Копирование только файлов с установленным архивным атрибутом. После копирования атрибут снимается.

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

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

/P Вывод запросов перед созданием каждого нового файла.

/S Копирование каталогов с подкаталогами (кроме пустых).

/E Копирование каталогов с подкаталогами (в том числе пустых).

Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T. /V

Сравнение конечных файлов с исходными.

/W Вывод запроса на нажатие клавиши перед копированием.

/C Продолжение копирования, независимо от наличия ошибок.

/I Если результат не существует, а копируется несколько файлов, считается, что указано имя каталога.

/Q Запрет вывода имен копируемых файлов.

/F Вывод полных имен исходных и конечных файлов.

/L Вывод имен копируемых файлов.

/H Копирование скрытых и системных файлов (среди прочих).

/R Разрешение замены файлов, предназначенных только для чтения.

/T Создание структуры каталогов (кроме пустых каталогов) без копирования файлов. Если требуется создать пустые каталоги и подкаталоги, используйте сочетание ключей /T /E.

/U Копирование только файлов, уже имеющихся в конечном каталоге.

/K Копирование атрибута "Только чтение" (обычно он сбрасывается).

/N Использование коротких имен при копировании.

/O Копирование сведений о владельце и данных ACL.

/X Копирование параметров аудита файлов (требует /O).

/Y Подавление запроса подтверждения на перезапись существующего конечного файла. /-Y Обязательный запрос подтверждения на перезапись существующего конечного файла.

/Z Копирование сетевых файлов с возобновлением.

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

Пример: 1. Копирование text.txt в A:ЗаданияНовая

2. При копировании имя файла будет изменено



В продолжение темы:
Android

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