Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Копирует файлы и каталоги, включая вложенные каталоги.
Примеры использования этой команды см. в разделе Примеры.
Syntax
xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]
Parameters
| Parameter | Description |
|---|---|
| <Источник> | Required. Указывает расположение и имена файлов, которые требуется скопировать. Этот параметр должен включать диск или путь. |
| [<Назначение>] | Указывает назначение файлов, которые требуется скопировать. Этот параметр может включать букву диска и двоеточие, имя каталога, имя файла или комбинацию из них. |
| /w | Отображает следующее сообщение и ожидает ответа перед началом копирования файлов: Нажмите любой ключ, чтобы начать копирование файлов. |
| /p | Запрашивает подтверждение того, нужно ли создать каждый целевой файл. |
| /c | Ignores errors. |
| /v | Проверяет каждый файл так же, как он записывается в целевой файл, чтобы убедиться, что целевые файлы идентичны исходным файлам. |
| /q | Подавляет отображение xcopy сообщений. |
| /f | Отображает имена исходных и целевых файлов во время копирования. |
| /l | Создает список файлов, которые копируются, но не копируются. |
| /g | Создает расшифрованные файлы назначения , если место назначения не поддерживает шифрование. |
| /d [:MM-DD-YYYY] | Копирует исходные файлы, измененные только по указанной дате или после нее. Если значение MM-DD-YYYY не указано, xcopy копируются все исходные файлы, которые новее существующих файлов назначения . Этот параметр командной строки позволяет обновлять измененные файлы. |
| /u | Копирует файлы из источника , которые существуют только в месте назначения . |
| /i | Если source является каталогом или содержит подстановочные знаки, а destination не существует, предполагается, xcopy что destination указывает имя каталога и создает новый каталог.
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) (подразумевается /o). |
| /exclude:FileName1[+[FileName2]][+[FileName3]( )] | Указывает список файлов. Необходимо указать по крайней мере один файл. Каждый файл содержит строки поиска с каждой строкой в отдельной строке в файле. Если любая из строк соответствует любой части абсолютного пути к копируемым файлам, этот файл исключается из копирования. Например, указание строки obj исключит все файлы в каталоге obj или все файлы с расширением .obj . |
| /y | Подавляет запрос на подтверждение того, что вы хотите перезаписать существующий целевой файл. |
| /-y | Запрашивает подтверждение того, что вы хотите перезаписать существующий целевой файл. |
| /z | Копирует по сети в режиме перезапуска. |
| /b | Копирует символьную ссылку вместо файлов. Этот параметр появился в Windows Vista®. |
| /j | Копирует файлы без буферизации. Рекомендуется для очень больших файлов. Этот параметр был добавлен в Windows Server 2008 R2. |
| /compress | Запрос сетевого сжатия во время передачи файлов, где это применимо. |
/[-]sparse |
Включает или отключает сохранение разреженного состояния файлов во время процесса копирования. Если указаны оба параметра, /-sparse переопределяет /sparse. |
| /noclone | Не пытается клонирование блоков в качестве оптимизации. |
| /? | Отображает справку в командной строке. |
Remarks
Using /z
Если вы потеряете подключение во время этапа копирования (например, если сервер будет отключен, он возобновляется после повторного завершения подключения. В /z также отображается процент выполнения операции копирования для каждого файла.
Использование /y в переменной окружения COPYCMD.
Вы можете использовать /y в переменной окружения COPYCMD. Вы можете переопределить эту команду, используя /-y в командной строке. По умолчанию вам будет предложено перезаписать.
Копирование зашифрованных файлов
Копирование зашифрованных файлов в том, который не поддерживает EFS, приводит к ошибке. Расшифруйте файлы сначала или скопируйте их в том, поддерживающий EFS.
Appending files
Чтобы добавить файлы, укажите один файл для назначения, но несколько файлов для источника (то есть с помощью подстановочных знаков или формата file1+file2+file3).
Значение по умолчанию для назначения
Если вы опустите пункт назначения,
xcopyкоманда скопирует файлы в текущий каталог.Указание того, является ли местом назначения файл или каталог
Если destination не содержит существующего каталога и не заканчивается обратной косой чертой (), появляется следующее сообщение:
Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?Нажмите клавишу F, если нужно, чтобы файл или файлы были скопированы в файл. Нажмите клавишу D, если требуется, чтобы файл или файлы были скопированы в каталог.
Вы можете подавить это сообщение с помощью параметра командной строки /i , который предполагает
xcopy, что местом назначения является каталог, если источником является более одного файла или каталога.Использование
xcopyкоманды для установки атрибута архива для файлов назначенияКоманда
xcopyсоздает файлы с набором атрибутов архива, независимо от того, был ли этот атрибут задан в исходном файле. Дополнительные сведения об атрибутах файла и атрибутивности см. в разделе Связанные ссылки.Сравнение
xcopyиdiskcopyЕсли у вас есть диск, содержащий файлы в подкаталогах, и вы хотите скопировать его на диск с другим форматом, используйте
xcopyкоманду вместоdiskcopyэтого.diskcopyТак как команда копирует диски, отслеживаемые по треку, исходные и целевые диски должны иметь одинаковый формат. Этаxcopyкоманда не имеет этого требования. Используйтеxcopy, если вам не нужна полная копия образа диска.Ошибка нехватки памяти
Ошибка "недостаточно памяти" может возникать при выполнении
xcopyкопирования файла или папки, путь к имени файла которого превышает 255 символов.Коды выхода для
xcopyДля обработки кодов выхода, возвращенных
xcopy, используйте параметр ErrorLevel в командной строке if в пакетной программе. Пример пакетной программы, которая обрабатывает коды выхода с помощью if, см. в разделе Связанные ссылки. В следующей таблице перечислены код выхода и описание.Exit code Description 0 Файлы были скопированы без ошибок. 1 Никакие файлы не были найдены для копирования. 2 Пользователь нажимал клавиши CTRL+C, чтобы завершить работу xcopy.4 Произошла ошибка инициализации. Недостаточно памяти или места на диске, или в командной строке введено недопустимое имя диска или недопустимый синтаксис. 5 Произошла ошибка записи диска.
Examples
1. Чтобы скопировать все файлы и подкаталоги (включая пустые подкаталоги) с диска А на диск Б, введите:
xcopy a: b: /s /e
2. Чтобы включить какие-либо системные или скрытые файлы в предыдущем примере, добавьте параметр командной строки /h следующим образом:
xcopy a: b: /s /e /h
3. Чтобы обновить файлы в каталоге \Reports файлами в каталоге \Rawdata, которые были изменены с 29 декабря 1993 года, введите:
xcopy \rawdata \reports /d:12-29-1993
4. Чтобы обновить все файлы, которые существуют в \Reports в предыдущем примере, независимо от даты, введите:
xcopy \rawdata \reports /u
5. Чтобы получить список файлов, которые должны быть скопированы предыдущей командой (то есть без фактического копирования файлов), введите:
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
Файл xcopy.out выводит список всех файлов, которые необходимо скопировать.
6. Чтобы скопировать каталог \Customer и все подкаталоги в каталог \\Public\Address на сетевом диске H:, сохраните атрибут "только для чтения" и получите запрос при создании нового файла на H:, введите:
xcopy \customer h:\public\address /s /e /k /p
7. Чтобы выполнить предыдущую команду, убедитесь, что xcopy создается каталог \Address, если он не существует, и подавите сообщение, которое появляется при создании нового каталога, добавьте параметр командной строки /i следующим образом:
xcopy \customer h:\public\address /s /e /k /p /i
8. Вы можете создать пакетную программу для выполнения xcopy операций и использовать команду batch if для обработки кода выхода в случае возникновения ошибки. Например, следующая пакетная программа использует заменяемые параметры для xcopy параметров источника и назначения:
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit
:abort
echo You pressed CTRL+C to end the copy operation.
goto exit
:exit
Чтобы использовать предыдущую пакетную программу для копирования всех файлов в каталогЕ C:\Prgmcode и его подкаталогах на диск B, введите следующее:
copyit c:\prgmcode b:
Командный интерпретатор заменяет C:\Prgmcode на %1 и B: вместо %2, затем использует xcopy с параметрами командной строки /e и /s . При xcopy обнаружении ошибки пакетная программа считывает код выхода и переходит к метке, указанной в соответствующем операторе IF ERRORLEVEL , после чего выводит соответствующее сообщение и завершает работу пакетной программы.
9. В этом примере копируются все непустые директории, а также файлы с соответствующим расширением после символа звездочки.
xcopy .\toc*.yml ..\..\Copy-To\ /S /Y
rem Output example.
rem .\d1\toc.yml
rem .\d1\d12\toc.yml
rem .\d2\toc.yml
rem 3 File(s) copied
В предыдущем примере это конкретное значение исходного параметра .\toc*.yml копирует те же 3 файла, даже если два символа пути .\ были удалены. Однако никакие файлы не будут скопированы, если звездочка будет удалена из исходного параметра, что сделает его просто .\toc.yml.