Местонахождение

Windows\system32

Описание

Extended Copy Utility

Утилита командной строки для копирования файлов и папок.

Синтаксис

XCOPY источник [результат] [/A|M] [/D[:дата]] [/I] [/P] [/S[/E]] [/W] [/C] [/Q] [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/Y|/-Y] [/N] [/V] [/G] [/O] [/X] [/Z]

Параметры

источник
Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь.
результат
Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию.
/A
Копирует только те файлы, которые имеют установленный атрибут архивный. При использовании параметра /a атрибут архивный у исходных файлов не меняется.
/M
Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов.
/D[:дата]
Копирует только файлы, измененные не ранее заданной даты. Если параметр дата не указан, то команда xcopy копирует только файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
/I
Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат - это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.
/P
Запрашивает подтверждение при создании каждого файла-результата.
/S
Копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.
/E
Копирует все подкаталоги, включая пустые. Параметр /e используется с параметрами /s и /t.
/W
Выводит сообщение с ожиданием подтверждения начала копирования:
Нажмите любую клавишу, чтобы начать копирование файлов
/C
Игнорирует ошибки.
/Q
Отменяет вывод на экран сообщений команды xcopy.
/F
Выводит имена исходных файлов и файлов-результатов в процессе копирования.
/L
Отображает список копируемых файлов, но само копирование не происходит.
/H
Копирует системные и скрытые файлы. По умолчанию команда xcopy не копирует системные и скрытые файлы.
/R
Копирует файлы с атрибутом Только для чтения
/T
Копирует только структуру подкаталога (т. е. дерево), а не файлы. Для копирования пустых каталогов следует задать ключ /e.
/U
Копирует (обновляет) только те файлы-источники, которые уже существуют в каталоге результата.
/K
Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут. По умолчанию команда xcopy удаляет атрибут «только для чтения».
/Y
Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
/-Y
Выдает запрос на подтверждение перезаписи существующего конечного файла.
/N
Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS.
/V
Проверяет каждый скопированный файл на соответствие его оригиналу.
/G
Создает незашифрованные файлы-результаты.
/O
Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL).
/X
Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL).
/Z
Копирует по сети в режиме перезапуска. Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла.
/?
Выводит справку.

Примечание

Код завершенияОписание
0Файлы скопированы без ошибок
1Файлы для копирования не найдены
2Нажата комбинация CTRL+C для остановки команды xcopy
4Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено неверное имя диска или неверный синтаксис вызова команды
5Диск защищен от записи

Примеры

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

xcopy a: b: /s /e

Чтобы включить в операцию копирования предыдущего примера системные и скрытые файлы следует использовать параметр /h:

xcopy a: b: /s /e /h

Чтобы обновить файлы в каталоге \Reports файлами из каталога \Rawdata, измененными после 29 декабря 1993 года, введите:

xcopy \rawdata \reports /d:29-12-1993

Чтобы обновить файлы предыдущего примера, уже существующие в каталоге \Reports, независимо от их даты, введите следующую команду:

xcopy \rawdata \reports /u

Чтобы получить списк файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:

xcopy \rawdata \reports /d:29-12-1993 /l > xcopy.out

Список файлов, которые были бы скопированы, находится в файле Xcopy.out.

Чтобы скопировать каталог \Customer и все подкаталоги \\Public\Address на сетевой диск H, сохранить у файлов атрибут «только для чтения», введите команду:

xcopy \customer h:\public\address /s /e /k /p

Чтобы выдать предыдущую команду, убедиться, что команда xcopy создает каталог \Address и устранить вывод сообщение о создании нового каталога, добавьте параметр /i следующим образом:

xcopy \customer h:\public\address /s /e /k /p /i

Для запуска программы xcopy и анализа кодов завершения можно создать пакетный файл и использовать оператор if для обработки кодов завершения в случае возникновения ошибок. Например, следующая пакетная программа использует замещаемые параметры для задания источникаxcopy и результата:

@echo off
rem COPYIT.BAT копирует все файлы во всех подкаталогах
rem исходного диска или каталога (%1) на другой диск

rem или в другой каталог (%2)

?? xcopy %1 %2 /s /e

??if errorlevel 4 goto lowmemory
?if errorlevel 2 goto abort
?if errorlevel 0 goto exit

??:lowmemory ?
echo Недостаточно памяти для копирования файлов,
задан недопустимый ?echo диск или ошибка в синтаксисе командной строки.
?goto exit
??
:abort ?
echo Нажата комбинация CTRL+C для остановки копирования.
?goto exit ?
?
:exit

Эта пакетная программа может быть использована для копирования всех файлов каталога C:\Prgmcode и его подкаталогов на диск B следующим образом:

copyit c:\prgmcode b:

Командный интерпретатор подставляет C:\Prgmcode вместо параметра %1 и B вместо параметра %2, затем использует команду xcopy с параметрами /e и /s. Если при выполнении xcopy произошла ошибка, пакетная программа считывает код завершения и переходит на метку, указанную в соответствующей инструкции IF ERRORLEVEL. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.

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

Реклама