robocopy

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

Синтаксис

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

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

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

Внимание

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

Параметры

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

Параметры копирования

Вариант Описание
/s Копирует вложенные каталоги. Этот параметр автоматически исключает пустые каталоги.
/e Копирует вложенные каталоги. Этот параметр автоматически включает пустые каталоги.
/Лев:<n> Копирует только верхние n уровни исходного дерева каталогов.
/z Копирует файлы в режиме перезапуска. В режиме перезапуска следует прервать копию файла, robocopy может выбрать место, в котором оно осталось, а не повторно скопировать весь файл.
/b Копирует файлы в режиме резервного копирования. В режиме резервного копирования robocopy переопределяет параметры разрешений файлов и папок (ACL), которые в противном случае могут блокировать доступ.
/zb Копирует файлы в режиме перезапуска. Если доступ к файлам запрещен, переключится в режим резервного копирования.
/J Копирует данные с помощью небуферированных операций ввода-вывода (рекомендуется для больших файлов).
/efsraw Копирует все зашифрованные файлы в режиме RAW EFS.
/Копировать:<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 Исправляет время файлов во всех файлах, даже пропущенных.
/Очистить Удаляет конечные файлы и каталоги, которые больше не существуют в источнике. Использование этого параметра с параметром /e и конечным каталогом позволяет не перезаписывать параметры безопасности целевого каталога.
/Мир Зеркально отражает дерево каталога (эквивалентно /e плюс /purge). Используя этот параметр с параметром /e и каталогом назначения, перезаписывает параметры безопасности целевого каталога.
/Mov Перемещает файлы и удаляет их из источника после их копирования.
/Переместить Перемещает файлы и каталоги и удаляет их из источника после их копирования.
/a+:[RASHCNET] Добавляет указанные атрибуты в скопированные файлы. Допустимые значения этого параметра:
  • R — только для чтения
  • A - Архив
  • S — система
  • H — скрытый
  • C — сжатый
  • N — не индексировано содержимое
  • E — зашифровано
  • T - Временный
/a-:[RASHCNETO] Удаляет указанные атрибуты из скопированных файлов. Допустимые значения этого параметра:
  • R — только для чтения
  • A - Архив
  • S — система
  • H — скрытый
  • C — сжатый
  • N — не индексировано содержимое
  • E — зашифровано
  • T - Временный
  • O — автономный
/Создать Создает только дерево каталогов и файлы нулевой длины.
/Жира Создает целевые файлы, используя только имена ФАЙЛОВ FAT длиной 8.3.
/256 Отключает поддержку путей дольше 256 символов.
/Пн:<n> Отслеживает источник и выполняется снова при обнаружении более n изменений.
/Mot:<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.
/Сжать Запрашивает сжатие сети во время передачи файлов, если применимо.
/Разреженных Включает сохранение разреженного состояния файлов во время копирования.

Внимание

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

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

Примечание.

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

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

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

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

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

Вариант Описание
/a Копирует только файлы, для которых задан атрибут Archive .
/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>[ ...] Исключает файлы, соответствующие указанным именам или путям. Поддерживаются символы wild карта (*и ?).
/Xd <directory>[ ...] Исключает каталоги, соответствующие указанным именам и путям.
/Xc Исключает существующие файлы с одной меткой времени, но с разными размерами файлов.
/Xn Исходные файлы каталогов, более новые, чем назначение, исключаются из копии.
/Xo Исходные файлы каталогов старше назначения исключаются из копии.
/Xx Исключает дополнительные файлы и каталоги, присутствующих в назначении, но не источник. Исключение дополнительных файлов не приведет к удалению файлов из назначения.
/Xl Исключает "одинокие" файлы и каталоги, присутствующих в источнике, но не в назначении. Исключение одиноких файлов предотвращает добавление новых файлов в место назначения.
/Im Включите измененные файлы (различающееся время изменения).
/is Включает одни и те же файлы. Одни и те же файлы совпадают с именем, размером, временем и всеми атрибутами.
/it Включает файлы с настройкой. Файлы с настройкой имеют одинаковое имя, размер и время, но разные атрибуты.
/Макс:<n> Задает максимальный размер файла (чтобы исключить файлы, превышающие n байт).
/Мин:<n> Указывает минимальный размер файла (чтобы исключить файлы меньше n байт).
/Maxage:<n> Указывает максимальный возраст файла (для исключения файлов старше n дней или даты).
/minage:<n> Указывает минимальный возраст файла (исключите файлы более n дней или даты).
/maxlad:<n> Указывает максимальную дату последнего доступа (исключает файлы, неиспользуемые с n).
/minlad:<n> Указывает минимальную дату последнего доступа (исключает файлы, используемые с n) Если n меньше 1900, n указывает количество дней. В противном случае n указывает дату в формате YYYYMMDD.
/Xj Исключает точки соединения, которые обычно включаются по умолчанию.
/fft Предположение времени файла FAT (двухсекундная точность).
/dst Компенсирует различия времени DST за один час.
/xjd Исключает точки соединения для каталогов.
/xjf Исключает точки соединения для файлов.

Параметры повтора

Вариант Описание
/R:<n> Указание количества повторных попыток для неудавшихся копий. Значение по умолчанию n равно 1000 000 (один миллион повторных попыток).
/Ж:<n> Указание времени ожидания между повторными попытками в секундах. Значение по умолчанию n равно 30 (время ожидания 30 секунд).
/Reg Сохраняет значения, указанные в параметрах /r и /w в качестве параметров по умолчанию в реестре.
/Tbd Указывает, что система ожидает определения имен общих ресурсов (ошибка повтора 67).
/lfsm Работа в режиме низкого свободного места, включающее копирование, приостановку и возобновление (см . примечания).
/lfsm:<n>[kmg] Задает размер пола в nkмотбайт, megabytes или gigabytes.

Параметры ведения журнала

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

Параметры задания

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

Замечания

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

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

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

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

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

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

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

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

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

Примечание.

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

Примеры

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

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

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

Чтобы зеркало содержимое папки "Records" в папку "Backup" на диске 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