Использование 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 — встроенный инструмент командной строки и для работы с ним, а точнее для использования доступных при копировании функций потребуется разобраться с поддерживаемыми параметрами.

Использование 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. Пример журнала Robocopy

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

Комментарии (5) к Использование Robocopy для копирования файлов и папок в Windows

  • Yury

    Спасибо за статью.

    А как же GUI для этой утилиты? Существуют сторонние инструменты с графическим интерфейсом, вместо консоли для настройки параметров.

    О них тоже можно сказать, для новичков — будет полезно и удобно.

    Ответить

  • Alex

    К утилитке и несколько разных GUI имеется в сети.

    Ответить

  • 1312

    При использовании robocopy лучше добавлять в конце команды /XF desktop.ini, если не хотите, чтобы внешний вид папки копировался. Особенно когда копируете файлы из папок Downloads, Documents итп

    Ответить

  • Юрий

    А ещё есть Microsoft Robocopy GUI (от Microsoft TechNet)
    • В своё время Microsoft выпускала утилиту Robocopy GUI, как часть Windows Server 2003 Resource Kit Tools.
    • Она предоставляет простую оболочку для создания командных строк robocopy с настройками через форму.
    • Сейчас официально не поддерживается, но всё ещё можно найти на сайтах с архивами Microsoft.

    Ответить

  • Ajan Eov

    У Robocopy ещё одно огромное (для меня вообще главное) достоинство – он умеет копировать папки с очень большой вложенностью и длинными именами, когда обычный Проводник выкидывает ошибку «Слишком длинное имя файла». Когда надо сбросить строительную документацию какую-нибудь с флешки в сеть, только он и спасает.

    Ответить

Оставить комментарий

Интересное
Новое
Список инструкций Windows 11 Windows 10 Подписаться