Гид по технологиям

Как пользоваться Robocopy в Windows для копирования и синхронизации файлов

3 min read Windows Обновлено 27 Dec 2025
Robocopy в Windows: копирование и синхронизация файлов
Robocopy в Windows: копирование и синхронизация файлов

Визуализация пользователя, копирующего файлы.

Краткое содержание

  • Что такое Robocopy и зачем он нужен
  • Основные параметры и безопасные практики использования
  • Примеры команд: зеркалирование, исключения, режимы предварительного просмотра
  • Скрипты, планирование по расписанию и чек-листы для резервного копирования
  • Альтернативы, советы по безопасности и восстановлению после ошибок

Что такое Robocopy

Robocopy (robust file and folder copy) — это командный инструмент Windows для надёжного копирования и синхронизации файлов и папок. Он копирует файлы локально и по сети, поддерживает многопоточность, логирование и множество опций для управления тем, какие файлы копируются и как обрабатываются ошибки.

Краткое определение: Robocopy — командная утилита Windows для автоматизированного и надёжного копирования и синхронизации файлов.

Когда стоит использовать Robocopy

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

Важно: Robocopy не спрашивает подтверждения. Команды могут удалять или перезаписывать файлы без дополнительной проверки. Всегда делайте тестовый запуск и имейте резервную копию.

Как запустить Robocopy

Нажмите правой кнопкой на кнопку «Пуск», затем выберите «Терминал» в Windows 11 или «PowerShell» в Windows 10.

Откройте PowerShell или Windows Terminal (или классическую Командную строку). В PowerShell и CMD синтаксис robocopy одинаковый по базовой форме:

robocopy    

Если список файлов не указан, копируются все файлы из исходной папки.

Часто используемые параметры и что они делают

  • /MIR — зеркало (mirror): делает зеркальную копию каталогов, включая удаление файлов в назначении, которых нет в источнике. Использовать осторожно.
  • /MOVE — переместить файлы и папки: переносит и удаляет из источника после копирования.
  • /XO — исключить более старые файлы: файлы из источника, которые старше соответствующих в назначении, не копируются.
  • /XD — исключить указанные каталоги по имени или пути.
  • /B — режим резервного копирования: игнорирует большинство ограничений доступа (требуется соответствующая привилегия).
  • /L — только перечислить (dry run): не копирует ничего, показывает, что было бы сделано.
  • /FP — показывать полные пути файлов в выводе.
  • /R: — количество повторов при ошибке (по умолчанию может быть большим; явно задавайте разумное значение).
  • /W: — пауза в секундах между повторами.
  • /MT[:n] — многопоточный режим, n потоков (по умолчанию 8, максимум зависит от версии). Ускоряет копирование больших коллекций мелких файлов, но повышает нагрузку на диск и сеть.
  • /LOG: — сохранить журнал выполнения в файл (перезаписывает файл).
  • /LOG+: — дописать в лог-файл.
  • /ETA — показывать ориентировочное время завершения.
  • /NP — не показывать прогресс для каждого файла (уменьшает объём вывода).
  • /TEE — выводить лог и в консоль, и в файл одновременно.

Важно: для безопасных операций сначала используйте /L и /FP, чтобы убедиться, какие изменения будут сделаны, затем запускайте настоящую операцию.

Пример: зеркалирование диска без опасного удаления

Этот пример копирует файлы с диска D:\ в M:\ и исключает системные папки и корзину. Здесь мы сознательно НЕ используем /MIR, чтобы не удалять случайно нужные файлы в назначении:

robocopy D:\ M:\ /XO /XD "`$Recycle.Bin" "System Volume Information"

Пояснения:

  • /XO — пропустить файлы из источника, старее файлов в назначении.
  • /XD — исключить “$Recycle.Bin” и “System Volume Information”. Обратите внимание на экранирование знака доллара в PowerShell через обратную кавычку () — в PowerShell$может обозначать переменную. Если вы запускаете в классической cmd.exe, кавычки работают иначе; в большинстве случаев достаточно двойных кавычек без экранирования$: ``` robocopy "D:\" "M:\" /XO /XD "$Recycle.Bin" "System Volume Information" ``` Используйте /L для безопасной проверки: ``` robocopy D:\ M:\ /XO /XD "$Recycle.Bin” “System Volume Information” /L /FP
    
    ## Скрипты и автоматизация
    
    Сохраняйте команду robocopy в .bat или .ps1 файле. Пример простого .bat для ежедневного резервного копирования:
    
    @echo off set SRC=D:\Users\Alice\Documents set DST=E:\Backups\Alice\Documents robocopy “%SRC%” “%DST%” /E /R:3 /W:10 /MT:16 /LOG:”C:\Logs\robocopy-docs.log” /TEE
    
    Пояснения:
    - /E — копировать все подкаталоги, включая пустые.
    - /R:3 и /W:10 — три повтора с паузой 10 секунд между ними.
    - /MT:16 — 16 потоков для ускорения.
    - /LOG и /TEE — логирование и вывод в консоль.
    
    ## Планирование задач (Task Scheduler)
    
    1. Создайте .bat или .ps1 с командой robocopy.  
    2. Откройте Планировщик заданий (Task Scheduler).  
    3. Создайте задачу: укажите триггер (по расписанию, при входе в систему, по событию).  
    4. В «Действиях» укажите запуск программы cmd.exe или powershell.exe с аргументами для выполнения вашего скрипта.  
    5. В настройках укажите «Выполнять с наивысшими правами», если нужен доступ администратора.  
    6. Тестируйте вручную и проверяйте логи.
    
    ## Когда Robocopy не подходит (примеры неудач)
    
    - Новичок случайно применил /MIR и удалил нужные файлы в папке назначения.  
    - Требуется инкрементная дедупликация и шифрование «на лету» — лучше использовать специализированные инструменты резервного копирования.  
    - Нужен гибкий интерфейс управления версиями и восстановлением по точке во времени — используйте системные образы или облачные сервисы с версионированием.
    
    ## Альтернативы и когда их выбрать
    
    - xcopy — устаревший, прост для базовых нужд, но функциональности меньше.  
    - rsync (через WSL или cwRsync) — мощный для сетевых синхронизаций и дельта-передачи; полезен, если вы уже используете UNIX-подходы.  
    - GUI-решения (FreeFileSync, SyncBack) — проще для неспециалистов, с визуальными настройками.  
    - Облачные резервные сервисы (OneDrive, Backblaze, Google Drive) — если вам нужно off-site копирование и простое восстановление.
    
    ## Чек-листы по ролям
    
    Для домашнего пользователя:
    - Сделать полный бэкап важной папки на внешний диск.  
    - Запустить сначала с /L и /FP.  
    - Настроить расписание на еженедельный запуск.  
    - Хранить второй бэкап в облаке.
    
    Для системного администратора:
    - Автоматизировать с помощью Task Scheduler и централизованного логирования.  
    - Использовать /R и /W с разумными значениями.  
    - Включить /LOG и архивировать логи.  
    - Тестировать восстановление из резервной копии.
    
    Для менеджера бэкапа:
    - Определить SLA: RTO/RPO.  
    - Подготовить процедурный документ и точки проверки.  
    - Назначить ответственных за проверку логов.
    
    ## Стандартная процедура (SOP) для еженедельного бэкапа с Robocopy
    
    1. Подготовка: проверить достаточное место на диске назначения.  
    2. Тест: выполнить команду с /L /FP и сохранить список изменений.  
    3. Выполнение: запустить настоящий прогон с /LOG и /TEE.  
    4. Проверка: проанализировать лог на ошибки; при необходимости повторить с корректировками.  
    5. Хранение: держать минимум две копии — локальную и off-site/облачную.  
    6. Техническое обслуживание: раз в квартал проверять целостность резервной копии и время восстановления.
    
    ## Критерии приёмки
    
    - Все файлы из контрольного набора присутствуют в папке назначения.  
    - Размер и количество файлов соответствуют ожиданиям (с поправкой на исключённые системные папки).  
    - В логах отсутствуют критические ошибки копирования.
    
    ## Тестовые сценарии и приемочные тесты
    
    - Dry run: запустить с /L и проверить список файлов, которые будут скопированы.  
    - Частичное восстановление: восстановить 5 случайных файлов из резервной копии и убедиться в их целостности.  
    - Симуляция ошибки: сделать файл недоступным и проверить, что /R и /W корректно обрабатывают повторы и логируют ошибку.
    
    ## Восстановление после случайного удаления
    
    1. Остановите дальнейшие операции, чтобы не перезаписать данные.  
    2. Проверьте доступные бэкапы и логи /LOG.  
    3. Попробуйте восстановить файлы из внешней копии или облака.  
    4. Если нет бэкапа, проверьте теневые копии тома (Volume Shadow Copies) и возможности восстановления Windows.  
    5. Документируйте инцидент и обновите процедуру, чтобы исключить повтор.
    
    ## Безопасность и конфиденциальность
    
    - Запускайте Robocopy с учётной записью, имеющей только необходимые права.  
    - Для копирования персональных данных обеспечьте шифрование носителей или шифрование резервных хранилищ.  
    - Храните логи в защищённом месте и ограничьте доступ по правам.  
    - Если вы копируете данные в другое юридическое пространство, проверьте соответствие требованиям конфиденциальности и, при необходимости, политике хранения данных.
    
    ## Советы и лучшие практики
    
    - Всегда сначала используйте /L и /FP для проверки.  
    - Не используйте /MIR, если нет уверенности, что источники полны и актуальны.  
    - Ограничивайте число повторов с помощью /R и /W, чтобы избежать длительных зависаний.  
    - Используйте /MT для ускорения на SSD и быстром канале, но не на перегруженных серверах.  
    - Логируйте с /LOG и ротацией логов, чтобы иметь историю операций.
    
    ## Краткий словарь терминов
    
    - /MIR — зеркалирование каталога.  
    - /L — режим предварительного просмотра (dry run).  
    - /MT — многопоточность.  
    - /XD — исключить папки.  
    - /LOG — логировать в файл.
    
    ## Совместимость и миграция
    
    Robocopy присутствует в современных версиях Windows и в большинстве случаев доступен без дополнительной установки. При миграции скриптов между PowerShell и cmd.exe учитывайте различия в обработке кавычек и экранирования символов, особенно для путей с пробелами и символом `$`.
    
    ## Маленькая шпаргалка (Cheat sheet)
    
    - Проверка: robocopy C:\src D:\dst /L /FP  
    - Копировать всё: robocopy C:\src D:\dst /E /V /FP /LOG:C:\log.txt  
    - Зеркалирование (ОСТОРОЖНО): robocopy C:\src D:\dst /MIR /Z /LOG:C:\log.txt  
    - Многопоточность: добавьте /MT:32  
    - Исключение папок: /XD "node_modules" "temp"
    
    ## Заключение
    
    Robocopy — надёжный инструмент для сценариев копирования и синхронизации в Windows. Он даёт тонкий контроль и масштабируемость для регулярных резервных копий и миграций, но требует внимательности: всегда тестируйте команды, логируйте операции и храните хотя бы две копии важных данных в разных местах.
    
    Важно: прежде чем использовать параметры, которые удаляют файлы, убедитесь в корректности путей и протестируйте /L. Резервное копирование — это не одноразовая операция, это процесс: автоматизируйте, проверяйте и документируйте.
    
    Дополнительные ресурсы: изучите справку `robocopy /?` и материалы по Task Scheduler для автоматизации задач.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство