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

Преимущества и примеры использования RobocopyПри необходимости копирования файлов или папок Windows 11/10 или предыдущих версий ОС большинство пользователей полагаются на Проводник, реже — альтернативные файловые менеджеры. Это может быть удобно, но в некоторых случаях приводить к необходимости дополнительных действий, снижая эффективность работы.

Robocopy (Robust File Copy for Windows) — встроенный инструмент командной строки Windows, позволяющий надёжно, быстро выполнять операции копирования, а также настраивать их параметры. В этой инструкции подробно о Robocopy — преимущества, функции, примеры использования.

Отличия Robocopy от простого копирования

Сначала о том, зачем может потребоваться Robocopy, ведь, казалось бы, и доступные в Проводнике или с помощью «копировать» — «вставить» инструменты Windows отлично справляются. У Robocopy есть ряд преимуществ, которые делают утилиту мощным инструментом для самых разных задач. Среди них:

  • Поддержка многопоточного копирования — может заметно ускорить процесс, особенно когда копируются множество мелких файлов.
  • Удобное копирование папок со всей структурой и содержимым, но с возможностью исключать определённые элементы из копируемых: не только по имени, но и размерам, меткам времени, атрибутам.
  • Функция зеркалирования — создание точной копии источника в целевом расположении (файлы, которых там нет, создаются, файлы которых нет в источнике, удаляются в целевом расположении).
  • Создание журнала копирования.
  • Возможность копирования с сохранением всех атрибутов, включая права доступна NTFS, владельца и другие.
  • Управление поведением копирования при ошибках: пропуск и автоматическое продолжение, дополнительные попытки с заданным вами временем ожидания.
  • Резервное копирование защищенных системных файлов.
  • Применимость для автоматизации в скриптах, заданиях планировщика заданий.

В то время как стандартные средства копирования Windows 11/10 и предыдущих версий ОС могут быть достаточными для простых задач копирования документов или отдельных папок на флешку, Robocopy предоставляет вам эффективные средства настройки копирования и дополнительные функции, которые отсутствуют в Проводнике, при копировании/вставке или использовании команды copy.

Параметры Robocopy и примеры использования

Как было отмечено выше, Robocopy — встроенный инструмент командной строки и для работы с ним, а точнее для использования доступных при копировании функций потребуется разобраться с поддерживаемыми параметрами.

Ниже — основные параметры команд и примеры использования с пояснениями:

  1. Простое копирование без параметров: потребуется лишь указать источник и папку назначения. Если путь к папке содержит пробелы, возьмите его в кавычки. Для копирования защищенных папок или в защищенные расположения запускайте командную строку от имени администратора, дополнительно обратите внимание на параметр /ZB (рассмотрен далее). Особенности работы: в примерах ниже первая команда скопирует только файлы из первой папки во вторую папку (но не вложенные папки), а вторая — скопирует всё содержимое целиком вместе со всей структурой папок (параметр /E)
    robocopy C:\Folder D:\Folder
    robocopy C:\Folder D:\Folder /E

    Если вместо /E использовать /S будут скопированы все подпапки кроме пустых.

  2. /R:n /W:n — параметры для указания, сколько повторных попыток копирования требуется выполнить и сколько времени в секундах ожидать между ними. Может быть полезным при копировании из сетевых расположений при нестабильной работе сети или при копировании значительных объёмов данных с дисков с ошибками. Примеры использования (в первом случае — автоматическое продолжение при ошибках, во втором — 5 попыток с 10 секундным интервалом, затем — продолжение):
    robocopy C:\Folder D:\Folder /E /R:0 /W:0
    robocopy C:\Folder D:\Folder /E /R:5 /W:10
  3. /MT:n — многопоточное копирование, например:
    C:\Folder D:\Folder /E /MT:16
  4. /MIR — зеркалирование. Команда
    C:\Original D:\Backup /E /MIR

    скопирует все файлы и вложенные папки с их содержимым в папку назначения на диске D, удалит из неё все папки и файлы, которые не содержатся на диске C, то есть создаст точную копию.

  • /XD /XF — исключение папок (Exclude Directories) и файлов (Exclude Files) соответственно. Пример:
    robocopy C:\Original D:\Backup /E /XD temp old*

    В этой команде исключаем папку «temp» и все папки, названия которых начинаются с «old». Если указать точный путь к исключаемой папке, будет исключена только она, но не все папки с тем же именем. Исключение файлов работает аналогичным образом.

  • /XA:атрибуты — исключение атрибутов (Exclude Attributes). Атрибуты: R (только для чтения), A (архивный), S (системный), H (скрытый), T (временный). Пример (копирование всех, кроме системных и скрытых элементов):
    robocopy C:\Folder D:\Folder /E /XA:SH
  • /MAX /MIN — исключение по размеру. Размер указывается в байтах (в одном килобайте 1024 байта и далее, не 1000). Пример использования (копируем файлы не более 100 Мб):
    robocopy C:\Folder D:\Folder /E /MAX:104857600
  • /MAXAGE /MINAGE — исключение по возрасту. Формат указания даты ГГГГММДД. Пример (копируем только файлы, которые менялись начиная с 1 января 2025 года):
    robocopy C:\Folder D:\Folder /E /MINAGE:20250101
  • /Z /B и /ZB — первый параметр включает режим перезапуска, позволяющий продолжить копирование большого файла если процесс прервётся, второй — включает специальное системное право для режима резервного копирования, игнорируя стандартные права доступа (то есть чтение возможно даже если прямых прав доступа нет), а сочетание параметров /ZB запускает копирование в режиме перезапуска, а при ошибках — включает режим резервного копирования. Может быть полезным при копировании системных папок Использование возможно только в командной строке от имени администратора.
  • /LOG /LOG+ — запись информации об операции копирования в журнал. Первый вариант перезаписывает журнал заново, вторая — дописывает к существующему. Пример:
    robocopy C:\Folder D:\Folder /LOG+:D:\Copy_Log.txt

    Дополнительные параметры, рекомендуемые к использованию: /NP (отключает запись процентов в лог), /TEE (вывод в терминал и консоль). Примечание: для кириллицы в журнале используется кодировка Windows 866.

Используя поддерживаемые атрибуты, вы можете не только выполнять копирование вручную, но и создать .bat-файл или задание в планировщике заданий Windows для автоматизации рутинных действий по созданию резервных копий важных данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *