Поделиться через


robocopy

Копирует данные файлов из одного расположения в другое.

Syntax

robocopy <source> <destination> [<file>[ ...]] [<options>]

Например, чтобы скопировать файл с именем yearly-report.mov из c:\reports в файловый ресурс \\marketing\videos , включив при этом многопоточность для повышения производительности (с параметром /mt ) и возможность перезапустить передачу в случае ее прерывания (с помощью параметра /z ), введите:

robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z

Important

Если какие-либо данные копируются из корня устройства, целевой каталог принимает атрибуты "hidden" и "system" в процессе копирования.

Parameters

Parameter Description
<source> Указание пути к исходному каталогу.
<destination> Указание пути к целевому каталогу.
<file> Указывает файл или файлы, которые нужно скопировать. Поддерживаются подстановочные знаки (* или ?). Если этот параметр не указан, *.* используется в качестве значения по умолчанию.
<options> Указывает параметры, используемые с командой robocopy , включая параметры копирования, файла, повтора, ведения журнала и задания .

Copy options

Option Description
/s Copies subdirectories. Этот параметр автоматически исключает пустые каталоги.
/e Copies subdirectories. Этот параметр автоматически включает пустые каталоги.
/lev:<n> Копирует только верхние n уровней дерева исходных каталогов.
/z Копирует файлы в режиме перезапуска. В режиме перезапуска следует прервать копию файла, robocopy может выбрать место, в котором оно осталось, а не повторно скопировать весь файл.
/b Копирует файлы в режиме резервного копирования. В режиме резервного копирования robocopy переопределяет параметры разрешений файлов и папок (ACL), которые в противном случае могут блокировать доступ.
/zb Копирует файлы в режиме перезапуска. Если доступ к файлам запрещен, переключится в режим резервного копирования.
/j Копирует данные с помощью небуферированных операций ввода-вывода (рекомендуется для больших файлов).
/efsraw Копирует все зашифрованные файлы в режиме RAW EFS.
/copy:<copyflags> Указывает, какие свойства файла следует копировать. Допустимые значения этого параметра:
  • D - Данные
  • A - Атрибуты
  • T - Временные метки
  • X - Пропуск альтернативных потоков данных
  • S - Список управления доступом NTFS (ACL)
  • O - Информация о владельце
  • U - Информация для аудита
По умолчанию для параметра /COPY используется значение DAT (данные, атрибуты и метки времени). Флаг X игнорируется, если используется либо /B , либо /ZB .
/dcopy:<copyflags> Указывает, что нужно скопировать в каталоги. Допустимые значения этого параметра:
  • D - Данные
  • A - Атрибуты
  • T - Временные метки
  • E - Расширенный атрибут
  • X - Пропуск альтернативных потоков данных
Значением по умолчанию для этого параметра является DA (данные и атрибуты).
/sec Копирует файлы с безопасностью (эквивалентно /copy:DATS).
/copyall Копирует всю информацию о файле (эквивалентно /copy:DATSOU).
/nocopy Не копирует информацию о файле (полезно с параметром /purge).
/secfix Исправляет безопасность файлов во всех файлах, даже пропущенных.
/timfix Исправляет время файлов во всех файлах, даже пропущенных.
/purge Удаляет конечные файлы и каталоги, которые больше не существуют в источнике. Использование этого параметра с параметром /e и каталогом назначения позволяет не перезаписывать параметры безопасности каталога назначения.
/mir Зеркалирует дерево каталогов (эквивалентно /e плюс /purge). Использование этого параметра с параметром /e и каталогом назначения перезаписывает параметры безопасности каталога назначения.
/mov Перемещает файлы и удаляет их из источника после их копирования.
/move Перемещает файлы и каталоги и удаляет их из источника после их копирования.
/a+:[RASHCNET] Добавляет указанные атрибуты в скопированные файлы. Допустимые значения этого параметра:
  • R - Только чтение
  • A - Архив
  • Система S
  • H - Скрытый
  • C - Сжатый
  • N - Не индексируется контент
  • E - Зашифрованный
  • T - Временный
/a-:[RASHCNETO] Удаляет указанные атрибуты из скопированных файлов. Допустимые значения этого параметра:
  • R - Только чтение
  • A - Архив
  • Система S
  • H - Скрытый
  • C - Сжатый
  • N - Не индексируется контент
  • E - Зашифрованный
  • T - Временный
  • O - Офлайн
/create Создает только дерево каталогов и файлы нулевой длины.
/fat Создает целевые файлы, используя только имена ФАЙЛОВ FAT длиной 8.3.
/256 Отключает поддержку путей дольше 256 символов.
/mon:<n> Отслеживает источник и запускается снова при обнаружении более n изменений.
/mot:<m> Отслеживает источник и повторно запускается через m минут при обнаружении изменений.
/rh:hhmm-hhmm Указывает время выполнения при запуске новых копий.
/pf Проверяет время выполнения на основе каждого файла (не для каждого прохода).
/ipg:<n> Указывает интервал между пакетами для освобождения пропускной способности в медленных строках.
/sj Копирует соединения (обратимые ссылки) на конечный путь вместо целевых объектов связи.
/sl Не следуйте символьным ссылкам и вместо этого создайте копию ссылки.
/mt:<n> Создает многопоточные копии с n потоками. n должно быть целым числом от 1 до 128. Значение по умолчанию для n равно 8. Для повышения производительности перенаправьте вывод с помощью опции /log .

Параметр /mt нельзя использовать с параметрами /ipg и /efsraw .

/nodcopy Не копирует информацию из каталога (по умолчанию /dcopy:DA готов).
/nooffload Копирует файлы без использования механизма разгрузки копирования Windows.
/compress Запрашивает сжатие сети во время передачи файлов, если применимо.
/sparse:<y|n> Включает или отключает сохранение разреженного состояния файлов во время процесса копирования. Если опция не выбрана, по умолчанию используется значение yes (enabled).
/noclone Не пытается клонирование блоков в качестве оптимизации.

Important

При использовании параметра копирования /secfix укажите тип информации о безопасности, которую вы хотите скопировать, используя один из следующих дополнительных вариантов копирования:

  • /copyall
  • /copy:o
  • /copy:s
  • /copy:u
  • /sec

Note

Параметр /mt был введен в Windows Server 2008 R2, и его функциональность применима к текущим версиям Windows Server.

Копирование параметров регулирования файлов

Option Description
/iomaxsize:<n>[kmg] Требуемый максимальный размер ввода-вывода за цикл чтения/записи в nkилобайт, megabytes или gigabytes.
/iorate:<n>[kmg] Запрашиваемая скорость ввода-вывода в nkилобайт megabytes или gigabytes в секунду.
/threshold:<n>[kmg] Пороговое значение размера файла для регулирования в nkилобайт, mэгабайт или gigabytes (см. Примечания).

Эти параметры регулирования используются для указания максимальной пропускной способности ввода-вывода, которую Robocopy позволяет использовать в байтах в секунду. Если не указано в байтах в секунду, можно использовать целые числа, если указаны k, m или g . Минимальная регулируемая пропускная способность ввода-вывода составляет 524288 байт, даже если указано меньшее значение.

Параметры выбора файла

Option Description
/a Копирует только те файлы, для которых установлен атрибут Архив .
/m Копирует только те файлы, для которых установлен атрибут Archive , и сбрасывает атрибут Archive .
/ia:[RASHCNETO] Включает только файлы, для которых заданы любые из указанных атрибутов. Допустимые значения этого параметра:
  • R - Только чтение
  • A - Архив
  • Система S
  • H - Скрытый
  • C - Сжатый
  • N - Не индексируется контент
  • E - Зашифрованный
  • T - Временный
  • O - Офлайн
/xa:[RASHCNETO] Исключает файлы, для которых заданы какие-либо из указанных атрибутов. Допустимые значения этого параметра:
  • R - Только чтение
  • A - Архив
  • Система S
  • H - Скрытый
  • C - Сжатый
  • N - Не индексируется контент
  • E - Зашифрованный
  • T - Временный
  • O - Офлайн
/xf <filename>[ ...] Исключает файлы, соответствующие указанным именам или путям. Поддерживаются подстановочные знаки (* и ?).
/xd <directory>[ ...] Исключает каталоги, соответствующие указанным именам и путям.
/xc Исключает существующие файлы с одной меткой времени, но с разными размерами файлов.
/xn Исходные файлы каталогов, более новые, чем назначение, исключаются из копии.
/xo Исходные файлы каталогов старше назначения исключаются из копии.
/xx Исключает дополнительные файлы и каталоги, присутствующих в назначении, но не источник. Исключение дополнительных файлов не удаляет файлы из назначения.
/xl Исключает "одинокие" файлы и каталоги, присутствующих в источнике, но не в назначении. Исключение одиноких файлов предотвращает добавление новых файлов в место назначения.
/im Включите измененные файлы (различающееся время изменения).
/is Включает одни и те же файлы. Одни и те же файлы совпадают с именем, размером, временем и всеми атрибутами.
/it Включает файлы с настройкой. Файлы с настройкой имеют одинаковое имя, размер и время, но разные атрибуты.
/max:<n> Указывает максимальный размер файла (чтобы исключить файлы размером более n байт).
/min:<n> Указывает минимальный размер файла (чтобы исключить файлы размером менее n байт).
/maxage:<n> Указывает максимальный возраст файлов для исключения файлов старше n дней или дату в зависимости от даты последнего изменения файлов.
/minage:<n> Указывает минимальный возраст файла для исключения файлов старше n дней или дату в зависимости от даты последнего изменения файлов.
/maxlad:<n> Указывает максимальную дату последнего доступа (за исключением файлов, не используемых с момента n).
/minlad:<n> Указывает минимальную дату последнего доступа (исключая файлы, использованные с момента n) Если n меньше 1900, n указывает количество дней. В противном случае n указывает дату в формате ГГГГММДД.
/xj Исключает точки соединения, которые обычно включаются по умолчанию.
/fft Предположение времени файла FAT (двухсекундная точность).
/dst Компенсирует различия времени DST за один час.
/xjd Исключает точки соединения для каталогов.
/xjf Исключает точки соединения для файлов.

Retry options

Option Description
/r:<n> Указание количества повторных попыток для неудавшихся копий. Значение по умолчанию n равно 1 000 000 (один миллион попыток).
/w:<n> Указание времени ожидания между повторными попытками в секундах. Значение по умолчанию n равно 30 (время ожидания 30 секунд).
/reg Сохраняет значения, указанные в параметрах /r и /w , в качестве настроек по умолчанию в реестре.
/tbd Указывает, что система ожидает определения имен общих ресурсов (ошибка повтора 67).
/lfsm Работа в режиме нехватки свободного места, который позволяет копировать, приостанавливать и возобновлять (см. раздел Примечания).
/lfsm:<n>[kmg] Задает размер этажа в nkилобайтах, mэгабайтах или gigabytes.

Logging options

Option Description
/l Указывает, что файлы должны быть перечислены только (и не копируются, удаляются или метки времени).
/x Сообщает все дополнительные файлы, а не только выбранные.
/v Создает подробные выходные данные и отображает все пропущенные файлы.
/ts Включает метки времени исходного файла в выходные данные.
/fp Содержит полные имена путей файлов в выходных данных.
/bytes Печатает размеры в виде байтов.
/ns Указывает, что размеры файлов не регистрируются.
/nc Указывает, что классы файлов не записываются в журнал.
/nfl Указывает, что имена файлов не регистрируются.
/ndl Указывает, что имена каталогов не регистрируются.
/np Указывает, чтобы не отображать ход выполнения операции копирования (количество файлов или каталогов, скопированных до сих пор).
/eta Показывает предполагаемое время прибытия (ETA) скопированных файлов.
/log:<logfile> Запись выходных данных о состоянии в файл журнала (перезапись существующего файла журнала).
/log+:<logfile> Записывает выходные данные состояния в файл журнала (добавляет выходные данные в существующий файл журнала).
/unilog:<logfile> Записывает выходные данные состояния в файл журнала в виде текста юникода (перезаписывает существующий файл журнала).
/unilog+:<logfile> Записывает выходные данные состояния в файл журнала в виде текста Юникода (добавляет выходные данные в существующий файл журнала).
/tee Записывает выходные данные состояния в окно консоли и в файл журнала.
/njh Указывает, что заголовок задания отсутствует.
/njs Указывает, что сводка задания отсутствует.
/unicode Отображает выходные данные состояния в виде текста юникода.

Job options

Option Description
/job:<jobname> Указывает, что параметры должны быть производными от именованного файла задания. Чтобы запустить /job:jobname, необходимо сначала запустить /save:jobname параметр для создания файла задания.
/save:<jobname> Указывает, что параметры должны быть сохранены в именованный файл задания. Это необходимо выполнить перед выполнением /job:jobname. Перед этим параметром необходимо указать все параметры копирования, повтора и ведения журнала.
/quit Завершает работу после обработки командной строки (для просмотра параметров).
/nosd Указывает, что исходный каталог не указан.
/nodd Указывает, что целевой каталог не указан.
/if Включает указанные файлы.

Remarks

  • Использование /PURGE или /MIR в корневом каталоге тома ранее приводило к тому, что robocopy также применял запрошенную операцию к файлам в каталоге System Volume Information. Это больше не так, как если бы то ни было указано, robocopy пропускает файлы или каталоги с таким именем в каталогах источника и назначения верхнего уровня сеанса копирования.

  • Измененная классификация файлов применяется только в том случае, если исходные и целевые файловые системы поддерживают метки времени изменения, такие как NTFS, и исходные и целевые файлы имеют разные времена изменения, но в противном случае одинаковы. Эти файлы по умолчанию не копируются. Укажите /IM , чтобы включить их.

  • Флаг /DCOPY:E указывает на то, что для каталогов следует попытаться скопировать расширенные атрибуты. Robocopy продолжает операцию копирования, даже если не удалось скопировать EAs каталога. Этот флаг не включен в /COPYALL.

  • Если указан параметр /IoMaxSize или /IoRate , робокопирование включает регулирование файла копирования для снижения нагрузки на систему. Оба параметра можно настроить в соответствии с оптимальными значениями и параметрами копирования, но система и robocopy могут настраивать их в соответствии с допустимыми значениями по мере необходимости.

  • Если используется параметр /Threshold , он указывает минимальный размер файла для включения регулирования. Файлы ниже этого размера не регулируются. За значениями для всех трех параметров можно следовать необязательный символ суффикса, например [KMG] (килобайты, мегабайты, гигабайты).

  • Использование /LFSM запрашивает робокопирование для работы в «режиме низкого свободного места». В этом режиме robocopy приостанавливается всякий раз, когда копирование файла приведет к тому, что свободное пространство целевого тома будет ходить ниже значения "пол". Это значение может быть явно указано с помощью флага /LFSM:n[KMG].

  • Если параметр /LFSM указан без явного значения floor, то для параметра floor устанавливается значение 10% от размера целевого тома. Режим "Мало свободного места" несовместим с /MT и /EFSRAW.

Коды выхода (return)

Value Description
0 Файлы не были скопированы. Сбой не обнаружен. Файлы не совпадают. Файлы уже существуют в целевом каталоге; следовательно, операция копирования пропущена.
1 Все файлы были успешно скопированы.
2 В целевом каталоге есть несколько дополнительных файлов, которые отсутствуют в исходном каталоге. Файлы не были скопированы.
3 Некоторые файлы были скопированы. Были представлены дополнительные файлы. Сбой не обнаружен.
5 Некоторые файлы были скопированы. Некоторые файлы были несогласованы. Сбой не обнаружен.
6 Существуют дополнительные файлы и несогласованные файлы. Файлы не были скопированы, и не было обнаружено сбоев, что означает, что файлы уже существуют в целевом каталоге.
7 Файлы были скопированы, несогласование файлов присутствовало, и были представлены дополнительные файлы.
8 Несколько файлов не скопируются.

Note

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

Examples

Настоятельно рекомендуется при выполнении robocopy команды создать файл журнала, который можно просмотреть после завершения процесса проверки целостности. В следующих примерах каждый использует /LOG: параметр. Чтобы добавить все сведения журнала в тот же файл журнала, используйте /LOG+: этот параметр.

Чтобы скопировать все файлы и вложенные каталоги, включая пустые каталоги, в папку Records в папку Backup на диске D введите:

robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log

Чтобы зеркально отражать содержимое папки "Records" в папке "Резервное копирование" на диске D, удалите все файлы в назначении, которые не существуют в источнике с 2 повторными попытками и ожиданием 5 секунд между каждой попыткой, введите:

robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log

Чтобы скопировать все файлы и вложенные каталоги, которые не являются пустыми из папки "Records" в папку "Backup" на диске D, сохраняя данные файла, атрибуты и метки времени с 16 операцией копирования с несколькими потоками, введите:

robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log

Чтобы переместить файлы и вложенные каталоги, за исключением пустых каталогов, из папки Records в папку Backup на диске D и исключить файлы старше 7 дней, введите:

robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log

Чтобы скопировать все файлы и вложенные каталоги, включая пустые каталоги, из папки "Записи" в папку "Backup" на диске "D" с указанием предполагаемого времени для каждого файла и удаления всех файлов и каталогов в назначении, которые не существуют из источника, введите:

robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log

Чтобы скопировать все файлы и вложенные каталоги из папки с именем Records на диске "C" в папку с именем "Backup" на диске "D" при ограничении скорости ввода-вывода до 1 мегабайта в секунду во время операции копирования, введите:

robocopy C:\Records D:\Backup /iorate:1m

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

robocopy C:\Source C:\Destination /XC /XN /XO