Card image cap

Утилита Robocopy для синхронизации и резервного копирования файлов

Robocopy – это встроенная консольная утилита Windows для копирования файлов, которую можно использовать для синхронизации/репликации файлов и каталогов, и в сценариях резервного копирования. Robocopy (Robust File Copy) доступна начиная с Windows NT 4.0 Resource Kit, но по умолчанию эта функция появилась только в Windows Vista и Windows Server 2008. Robocopy заменяет Xcopy и copy, как более функциональная.

Полный синтаксис утилиты robocopy (все параметры и их описания) доступны по команде в команд:

robocopy /?

Использование robocopy для зеркалирования каталогов

Вы можете зеркалировать (синхронизировать) содержимое двух каталог с помощью следующей команды robocopy (под зеркалированием понимается копирование файлов из целевой папки с удалением файлов в целевом каталоге, если они удалены в источнике).

robocopy C:\katalog1\ D:\kataloge2\ /MIR /COPYALL /Z /B /J /R:3 /W:1 /LOG:robocopy.log

C:\katalog1\ — исходный каталог, откуда копируются файлы

D:\kataloge2\ — каталог назначения, куда скопируются файлы

/MIR – полное зеркалирование данных в source и dest директориях. Файлы, удаленные из source директории или не присутствующие в ней, также будут удалены из dest. Если вы хотите, чтобы удаленные из source файлы оставались в dest, то поменяйте параметр /MIR на /E

/COPYALL – копирует всю информацию о файле (Атрибуты, параметры безопасности и т.д.). Как альтернатива, можно применять флаг /COPY:DT для копирования timestamp, а не всей информации. /COPALL требует прав администратора.

/Z – robocopy продолжит копирование файла при обрыве. Полезно при копировании больших файлов (неплохая альтернатива копированию файлов по BITS)

/B – позволяет robocopy избегать ошибки access denied error. В этом режиме robocopy игнорирует все права на файлы, которые могли бы помешать прочитать/записать файл. Этот режим требует прав администратора либо участие в группе Операторы архива.

/J – Копирование без буфера (файлового кэша, оперативной памяти). Эффективно для больших файлов.

/R:3 – количество попыток скопировать недоступный файл. Значение по умолчанию – миллион, поэтому необходимо его сменить.

/W:1 – секунды между попытками скопировать недоступный файл. Значение по умолчанию – 30 секунд.

/LOG – путь к файлу лога

Использование Robocopy для перемещения файлов

С помощью ключа /mov или /move вы можете переместить файлы (а точнее удалить успешно скопированные файлы из исходной директории):

robocopy C:\katalog1\ D:\kataloge2\ /MOVE /E /COPYALL /Z /B /J /R:3 /W:1 /LOG:robocopy.log

/MOVE – удалить файлы и директории из исходной папки, после того как они были скопированы. Имейте в виду, что этот ключ нужно использовать вместе с /E или /S, в противном случае вы перенесете только файлы, но не директории. Если вы хотите перенести только файлы, используйте ключ /MOV

Пример создания скрипта .bat

Содержание robocopy_mypc.bat:

@echo off

rem "MYKOMPUTER.RU"

echo == Зеркалирование каталогов ==

robocopy C:\katalog1\ D:\katalog2 /MIR /COPYALL /Z /B /J /R:3 /W:1 /LOG:robocopy.log

pause


Поддержать развитие журнала
21 августа 2020, 20:19 Категория Программы 2744
Список всех статей в журнале