Robocopy (Robust File Copy) утилита командной строки, которая идет с Windows Vista и более новыми версиями Windows. В старых версиях Windows она была частью Windows Resource Kit Tools. В отличие от обычной команды copy
, Robocopy создана для более надежного копирования и зеркалирования. С подержкой резрешений, атрибутов, информации о пользователе, таймштампав копируемых объектов.
robocopy source destination [file…] [options]
source
- директория откуда будем копировать. Может быть сетевым путем.destination
- директория куда копируем. Локальный или сетевой путь.[file…]
- файлы которые нужно скопировать. Можно использоваться wildcard символы (* или ?). Если параметр [file…]
не задан, то по умолчанию используется *.*robocopy c:\src c:\dst *.txt
В этом примере будут копироваться все файлы .txt
из директории c:\src
в директорию c:\dst
.
robocopy c:\src c:\dst /e
Копировать все файлы, включая пустые.
robocopy c:\src c:\dst /MIR
Сделает зеркало. Использовать с осторожностью т.к. из c:\dst
будут удалены все файлы которых нет в c:\src
robocopy robocopy \\computer\src c:\dst
Источник файлов на другом компьютере в сети.
Опция |
Описание |
/s | Копировать поддиректории. Пустые директории пропускаются. |
/e | Копировать поддиректории, включая пустые. |
/lev:<N> | Копировать только верхние N уровней дерева директорий. |
/z | Копировать файлы в режиме рестарта. |
/b | Копировать файлы в Backup режиме. |
/zb | Используется режим рестарта. Если доступ запрещен, то используется Backup режим. |
/efsraw |
Копировать зашифрованные файлы в EFS RAW режиме. |
/copy:<CopyFlags> |
Указать какие свойства файлов будут копироваться. Правильные варианты для данной опции :
Значение по умолчанию DAT (data, attributes, and time stamps). |
/dcopy:T | Копировать таймштампы директории. |
/sec | Копировать файлы с security (эквивалент /copy:DAT). |
/copyall | Копировать всю информацию по файлам (эквивалент /copy:DATSOU). |
/nocopy | Не копировать информацию по файлам (полезно с опцией /purge). |
/secfix | Фиксировать security на всех файлах, даже пропущенных. |
/timfix | Фиксировать время на всех файлах, даже пропущенных. |
/purge | Удалить файлы в папке назначения, которых больше нет в исходной папке. |
/mir | Зеркалировать дерево директорий (эквивалентно двум опциям /e вместе с /purge ).
|
/mov | Переместить файлы. Т.е. после копирования будут удалены исходные. |
/move | Переместить файлы и директории. Исходники будут удалены. |
/a+:[RASHCNET] | Добавить атрибуты к скопированным файлам. Adds the specified attributes to copied files. |
/a-:[RASHCNET] | Удалить атрибуты у скопированных файлов. |
/create | Создать дерево директории и файлы с нулевым размером. |
/fat | Создавать файлы с именами в формате 8.3 как в FAT. |
/256 | Отключить поддержку очень длинных путей (которые больше 256 символов). |
/mon:<N> | Мониторит исходную папку и если обнаружит больше чем N изменений то начнёт копирование изменённых файлов. Подробнее читайте тут : планировщик в Robocopy. |
/mot:<M> | Мониторит исходную папку, ищет изменения каждые M минут и начинает копировать если были изменения. Подробнее читайте тут : планировщик в Robocopy. |
/rh:hhmm-hhmm | Указывает время когда начнется выполнение запланированного копирования. Подробнее читайте тут : планировщик в Robocopy. |
/pf | Checks run times on a per-file (not per-pass) basis. |
/ipg:n | Specifies the inter-packet gap to free bandwidth on slow lines. |
/sl | Копировать символические ссылки, вместо реального файла. |
Важное |
---|
Когда используете опцию /SECFIX, вам также нужно выбрать одну из этих :
|
Option |
Description |
/a | Копировать только те файлы у которых есть атрибут архива. |
/m | Копировать только те файлы у которых есть атрибут архива, и после этого сбросить этот атрибут. |
/ia:[RASHCNETO] | Копировать только те файлы у которых есть указанные атрибуты. |
/xa:[RASHCNETO] | Не копировать те файлы у которых есть указанные атрибуты. |
/xf <FileName>[ ...] |
Не копировать те файлы у которых имя или путь похожи на заданный. В имени файла можно использовать "*" и "?". |
/xd <Directory>[ ...] | Не копировать те директории у которых имя или путь похожи на заданный. В имени директории можно использовать "*" и "?". |
/xct | Не копировать изменённые файлы. |
/xn | Не копировать новые файлы. |
/xo | Не копировать старые файлы. |
/xx | Не копировать те файлы и папки которые уже есть в папке назначения. |
/xl | Excludes "lonely" files and directories. |
/is | Includes the same files. |
/it | Includes "tweaked" files. |
/max:<N> | Не копировать файлы у которых размер больше чем N байт. |
/min:<N> | Не копировать файлы у которых размер меньше чем N байт. |
/maxage:<N> | Не копировать файлы которые старее N дней. |
/minage:<N> | Минимальный возраст файлов N дней. |
/maxlad:<N> | Не копировать те файлы которые не использовались начиная с даты N. |
/minlad:<N> | Копировать файлы которые использовались до определённой даты. Если N меньше чем 1900, тогда это дни. Иначе это год в формате YYYYMMDD. |
/xj | Не копировать junction points. По умолчанию они копируются. |
/fft | Assumes FAT file times (two-second precision). |
/dst | Compensates for one-hour DST time differences. |
/xjd | Не копировать junction points для директорий. |
/xjf | Не копировать junction points для файлов. |
Option |
Description |
/r:<N> | Количество повторов если копирование не удаётся. По дефолту это 1,000,000 попыток. |
/w:<N> |
Время между повторами в секундах. По дефолту 30 секунд. |
/reg | Сохраняет в реестр значения опций /r и /w как дефолтовые. |
/tbd | Specifies that the system will wait for share names to be defined (retry error 67). |
Option |
Description |
/l | Покажет список файлов которые выбраны для обработки, но само копирование, удаление и т.п. не будет выполняться. |
/x | Сообщает все дополнительные файлы, а не только те, которые выбраны. |
/v | Болтливый режим. Покажет также пропущенные файлы. |
/ts |
Покажет таймстампы файлов. |
/fp | Показывать полные пути к файлам. |
/bytes | Показывать размер файлов в байтах. |
/ns | Указывает, что размеры файлов не логируются. |
/nc | Указывает, что классы файлов не должны логироваться. |
/nfl | Имена файлов не будут логироваться. |
/ndl | Имена директори не будут логироваться. |
/np | Не будет показываться прогресс копирования. Т.е. количество файлов и директорий. |
/eta | Показывает примерное время прибытия копированных файлов. |
/log:<LogFile> | Логировать в файл. Если такой файл логов уже есть, то он будет перезаписан. |
/log+:<LogFile> | Логировать в файл. Если такой файл логов уже есть, то данные будут добавлены в него. |
/unicode | Отображать статус в юникоде. |
/unilog:<LogFile> | Логировать в файл в формате Unicode. Если такой файл логов уже есть, то он будет перезаписан. |
/unilog+:<LogFile> | Логировать в файл в формате Unicode. Если такой файл логов уже есть, то данные будут добавлены в него. |
/tee | Логировать и в файл и в консоль. |
/njh | Указывает, что нет заголовка задания. |
/njs | Указывает, что нет резюме работы. |
Option |
Description |
/job:<JobName> | Указывает, что параметры должны быть выведены из именованного файла задания. |
/save:<JobName> | Указывает, что параметры должны быть сохранены в именованный файл задания. |
/quit | Выйти после обработки командной строки ( чтобы посмотреть параметры )./nosd: |
/nodd | Указывает, что каталог назначения не указан. |
/if | Включает указанные файлы. |