- 29.01.2020
- 55 346
- 11
- 02.11.2020
- 31
- 29
- 2
- Содержание статьи
- Описание
- Синтаксис
- Параметры
- Примечания
- Примеры использования
- Справочная информация
- Комментарии к статье ( 11 шт )
- Добавить комментарий
Описание
XCOPY — Копирует файлы и каталоги, включая подкаталоги.
Синтаксис
xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [{/y|/-y}] [/z]
Параметры
Параметр | Описание |
---|---|
источник | Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь. |
результат | Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию. |
/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 атрибут «архивный» у исходных файлов не меняется. |
/m | Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов. |
/n | Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS. |
/o | Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL). |
/x | Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL) (подразумевается наличие /p). /exclude:файл1[+[файл2]][+[файл3]] Определяет список файлов, содержащих строки. |
/y | Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла. |
/-y | Выдает запрос на подтверждение перезаписи существующего конечного файла. |
/z | Копирует по сети в режиме перезапуска. |
/? | Отображает справку в командной строке. |
Примечания
-
- Использование параметра /exclude
Построчный вывод всех строк в каждом файле. При соответствии выведенной строки части пути копируемого файла, он исключается из процесса копирования. Например, если указана строка «\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», исключается все файлы с расширением .obj. - Использование параметра /z
Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла. - Использование параметра /y в переменной среде COPYCMD. Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть переопределена использованием параметра /-y в командной строке. По умолчанию если команда copy выполняется не в пакетной программе, при замене требуется подтверждение.
- Копирование зашифрованных файлов
При копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS), возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том, поддерживающий EFS. - Добавление файлов
Чтобы объединить файлы, укажите один файл-результат, но несколько файлов-источников (с помощью подстановочных знаков или формата файл1+файл2+файл3). - Значение по умолчанию для результата
Если параметр результат не задан, xcopy будет копировать файлы в текущий каталог. - Указание в качестве результата файла или каталога
Если параметр результат не содержит существующий каталок или не заканчивается обратной чертой(\), выводится следующее сообщение:Что означает destination:
имя файла или каталога
(F = файл, D = каталог)?Нажмите F, если файл или файлы должны копироваться в файл. Нажмите D, если файл или файлы должны копироваться в каталог.Чтобы устранить вывод этого сообщения, используйте параметр /i. В результате чего, команда xcopy предполагает, что результат является каталогом, если источник престаляет собой несколько файлов или каталогов. - Использование команды xcopy для установки атрибута «архивный» для файлов результата
Команда xcopy создает файлы с установленным атрибутом «архивный», независимо от состояния этого атрибута у исходных файлов. - Сравнение команд xcopy и diskcopy
Команда xcopy должна быть использована вместо diskcopy при копировании файлов и подкаталогов на диск другого формата. Так как команда diskcopy копирует диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый формат. Для команды xcopy это требование не нужно. Обычно следует использовать команду xcopy, если только не требуется получить два диска с одинаковыми образами. - Коды завершения программы xcopy
- Использование параметра /exclude
Для анализа кодов завершения, выведенных командой xcopy, используйте параметр уровень_ошибки в командной строке if пакетных программ.
В следующей таблице перечислены коды завершения с кратким описанием.
Код завершения | Описание |
---|---|
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. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.
Справочная информация
To copy entire directory structures as quickly as possible and ignore all disk errors (useful in data recovery) either of the following commands should work with robocopy being the quickest (if you’ve got Vista/7 or XP with the XP Resource Kit installed). Both commands use source -> destination path order.
xcopy /C/H/R/S/Y c:\ d:\
/C = Continues copying even if errors occur
/H = Copies hidden and system files also
/R = Overwrites read-only files
/S = Copies directories and subdirectories
/Y = Overwrites existing files without asking
robocopy c:\ d:\ /MIR /R:0 /W:0
/MIR = Mirror entire directory structure (can use /E instead)
/R:0 = 0 retries for read/write failures
/W:0 = 0 seconds between retries
Windows / Программное обеспечение
Копирует файлы и каталоги, включая подкаталоги.
Синтаксис
xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [{/y|/-y}] [/z]
Параметры
источник Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь. результатЗадает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию. /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 Копирует по сети в режиме перезапуска. /?Отображает справку в командной строке.
Примечания
- Использование параметра /v
- Использование параметра /excludeПострочный вывод всех строк в каждом файле. При соответсвтии выведенной строки части пути копируемого файла, он исключается из процесса копирования. Например, если указана строка «\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», исключается все файлы с расширением .obj.
- Использование параметра /zЕсли во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла.
- Использование параметра /y в переменной среде COPYCMD.Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть переопределена использованием параметра /-y в командной строке. По умолчанию если команда copy выполняется не в пакетной программе, при замене требуется подтверждение.
- Копирование зашифрованных файловПри копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS), возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том, поддерживающий EFS.
- Добавление файловЧтобы объединить файлы, укажите один файл-результат, но несколько файлов-источников (с помощью подстановочных знаков или формата файл1+файл2+файл3).
- Значение по умолчанию для результатаЕсли параметр результат не задан, xcopy будет копировать файлы в текущий каталог.
- Указание в качестве результата файла или каталогаЕсли параметр результат не содержит существующий каталок или не заканчивается обратной чертой(\), выводится следующее сообщение:
Что означает destination:
имя файла или каталога
(F = файл, D = каталог)?
Нажмите F, если файл или файлы должны копироваться в файл. Нажмите D, если файл или файлы должны копироваться в каталог.
Чтобы устранить вывод этого сообщения, используйте параметр /i. В результате чего, команда xcopy предполагает, что результат является каталогом, если источник престаляет собой несколько файлов или каталогов. - Использование команды xcopy для установки атрибута «архивный» для файлов результатаКоманда xcopy создает файлы с установленным атрибутом «архивный», независимо от состояния этого атрибута у исходных файлов.
- Сравнение команд xcopy и diskcopyКоманда xcopy должна быть использована вместо diskcopy при копировании файлов и подкаталогов на диск другого формата. Так как команда diskcopyкопирует диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый формат. Для команды xcopy это требование не нужно. Обычно следует использовать команду xcopy, если только не требуется получить два диска с одинаковыми образами.
- Коды завершения программы xcopyДля анализа кодов завершения, выведенных командой xcopy, используйте параметр уровень_ошибки в командной строке if пакетных программ. В следующей таблице перечислены коды завершения с кратким описанием.
Код завершения Описание 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. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.
Источник: www.windowsfaq.ru/content/view/49/57/
Maybe some simple Powershell snippet?
copy-item -path E:\myfolders -destination C:\newfolder -container -force -recurse -erroraction continue -warningaction continue -confirm:$false
In order to run, open Powershell console (available in every Windows since XP), change -path and -directory parameters to your start and destination folder, copy the command to PS window and press enter. If you can’t copy, enable quick edit mode in console properties — this maps paste option under right-mouse button in Win7.
Might require closing paths in quotation marks » if there are special signs in names, like whitespace.
This run in Powershell should copy all files and subirectories to specified directory. Will continue copying despite some error with specified file. For every broken file that command can’t copy, you will receive a lot of red output in console. If you don’t want to see these, change erroraction to silentlycontinue.
Copy Files and Ignore Cyclic Redundancy Check Errors on Windows
Today I had the unfortunate pleasure of copying some data on a Windows machine. Windows File Explorer (or File Manager or Explorer or whatever they call it these days) has a hissy fit if any of the files cannot be read or has a CRC Cyclic Redundancy Check Error. It then helpfully bails out on the entire process.
Fortunately I discovered you can still use the xcopy command line utility with the /c switch to ignore errors in Windows. I solved my problem with the follow command.
xcopy /c /s d:\*.* e:\incoming
The /s is for recursion, and don’t forget it’s *.* in Windows, not just *
Copy Files and Ignore Cyclic Redundancy Check Errors on Windows
About Roger Keays
Roger Keays is an artist, an engineer, and a student of life. He has no fixed address and has left footprints on 40-something different countries around the world. Roger is addicted to surfing. His other interests are music, psychology, languages, the proper use of semicolons, and finding good food. |
I tried this from a CMD window. Did not work still recieved the CRC Cyclic Redundancy Check Error. I will try from a boot disk
buen dato,
más usos del xcopy poner en MSDOS el siguiente comando:
xcopy /?
This method doesn’t FIX the CRC problem, it just makes sure your recursive copy operation doesn’t give up entirely because of one error.
I got did what you explain and still got file creation error — data error (cyclic redundancy check)