
Жёсткий диск и SSD разных типов на реальной фотографии. Для копирования важно точно определить исходник и отдельное назначение; сами устройства не показывают полноту результата.
User5515 · источник и условия использования · CC0 1.0
Большой архив копируется на другой диск или NAS, соединение обрывается, и непонятно, нужно ли начинать заново. Robocopy позволяет повторять ту же задачу, пропускать уже соответствующие файлы и использовать режим возобновляемого копирования.
Но эти возможности не заменяют проверку путей. В примерах D:\Archive — исходник, а \\NAS\Backup\ArchiveCopy — отдельная папка назначения. Замените их своими. Не направляйте архив в корень диска или поверх папки с другой единственной копией.
Даже без зеркалирования файлы с совпадающими именами могут быть перезаписаны. Для первого прохода безопаснее выделить новое назначение и заранее посмотреть план. Robocopy копирует файлы, а не клонирует загрузочную Windows. [1]
Схема редакции «Мы из 90х».
Проверьте свободный объём назначения и ограничения файловой системы. Предельный размер обычного файла FAT32 — 4 294 967 295 байт, чуть меньше 4 ГиБ; облачный заместитель не равен полностью сохранённому локальному оригиналу. [3]
Если копируется активная база или изменяющийся проект, согласуйте момент снимка или штатной резервной копии. Robocopy не превращает произвольный набор открытых файлов в согласованный образ приложения.
Закройте ненужные программы, записывающие в архив. Для нестабильного исходного накопителя сначала оцените сохранность данных: многократные повторы чтения не являются методом аппаратного восстановления.

Откройте командную строку CMD и создайте локальную папку для журналов. Предварительный запуск:
Командная строка
md C:\Iz90Diag
robocopy "D:\Archive" "\\NAS\Backup\ArchiveCopy" /E /Z /COPY:DAT /DCOPY:DAT /XJ /R:2 /W:3 /L /TEE /UNILOG:"C:\Iz90Diag\Archive-preview.log"/L только перечисляет запланированные действия. Файлы не копируются. Проверьте напечатанные Source и Dest, объём и список. Успешный просмотр не подтверждает чтение всего содержимого: это предварительный план, а не полная проверка источника. [1]
Журнал находится локально, чтобы не зависеть от того же сетевого обрыва. Параметр UNILOG сохраняет Unicode-журнал; он не меняет кодировку содержимого копируемых документов.
После проверки используйте ту же команду, убрав только предварительный режим и выбрав отдельный журнал:
Командная строка
robocopy "D:\Archive" "\\NAS\Backup\ArchiveCopy" /E /Z /COPY:DAT /DCOPY:DAT /XJ /R:2 /W:3 /TEE /UNILOG:"C:\Iz90Diag\Archive-copy.log"Смысл основных параметров:
| Параметр | Назначение |
|---|---|
| /E | Копирует подкаталоги, включая пустые |
| /Z | Использует возобновляемый режим |
| /COPY:DAT | Данные файлов, атрибуты и время |
| /DCOPY:DAT | Соответствующие сведения каталогов |
| /R:2 /W:3 | Два повтора с ожиданием три секунды |
| /XJ | Исключает junction points |
| /TEE /UNILOG | Вывод на экран и Unicode-журнал |
Учебная таблица редакции.
Набор предназначен для обычного файлового архива. Он не переносит все ACL, владельцев и аудит как системная резервная копия. Junction points исключаются, поэтому дерево с такими перенаправлениями требует отдельной оценки состава. Символические ссылки и облачные объекты также нужно понимать по их типу.
Увеличение числа потоков не обязательно ускорит медленный диск. Сначала получите устойчивый проход; режимы EFS RAW имеют отдельные ограничения, в том числе несовместимость с /MT. [1]
Восстановите доступ к исходнику и назначению. Сохраните предыдущий журнал отдельно, затем повторите проверенную команду с теми же корнями. Уже соответствующие файлы обычно будут пропущены, а /Z предназначен для возобновления прерванной передачи файла.
Продолжение предполагает пригодный частичный результат и неизменный источник. Если исходный файл после обрыва изменён, его нельзя считать тем же неподвижным объектом. Проверяйте новый итог, а не только возобновившийся счётчик процентов.
Не переименовывайте временную копию и не удаляйте её автоматически, пока не выяснено состояние. Если причина — постоянный отказ доступа или неисправность носителя, ограниченные повторы завершатся ошибкой. Они нужны, чтобы команда не ждала бесконечно, а не чтобы скрыть пропущенные данные.
Схема редакции «Мы из 90х».
Если при каждом проходе снова выбираются те же файлы, сравните размеры, время и точность временных меток назначения. Параметр /FFT задаёт двухсекундную точность сравнения времени и нужен только при соответствующей особенности файловой системы. Он может скрыть небольшие различия, поэтому не добавляется автоматически ради уменьшения числа копирований. [1]
В CMD следующей командой можно вывести:
Командная строка
echo %ERRORLEVEL%В PowerShell после запуска внешней утилиты используется $LASTEXITCODE. Снимайте код до другой внешней команды, способной его заменить.
Коды Robocopy отличаются от простого правила «любое ненулевое значение — ошибка». Значение 1 может означать успешное копирование; коды 0–7 описывают сочетания отсутствия изменений, новых файлов, дополнительных объектов или несовпадений. Значение от 8 указывает на хотя бы один отказ копирования. [1]
Даже код меньше 8 не отменяет чтение итоговой таблицы. Просмотрите Failed, Mismatch и Extras и убедитесь, что результат соответствует задаче. Дополнительные файлы назначения не обязательно являются ошибкой, но их происхождение должно быть понятно.
| Проверка | Что выяснить |
|---|---|
| Код завершения | Есть ли отказ по правилам Robocopy |
| Failed | Какие файлы не скопированы |
| Mismatch и Extras | Есть ли неожиданные отличия |
| Source и Dest | Те ли корни использовались |
Учебная таблица редакции.
Зеркалирование синхронизирует дерево и может удалять из назначения объекты, которых нет в исходнике. Это полезно для специальной задачи, но опасно, если назначение содержит другие нужные файлы.
Для оценки такого плана сначала используют только просмотр, например:
Командная строка
robocopy "D:\Archive" "\\NAS\Backup\ArchiveCopy" /MIR /L /XJ /R:0 /W:0 /UNILOG:"C:\Iz90Diag\Mirror-plan.log"Здесь /L обязателен для предварительного просмотра: удаления не выполняются. Прочитайте план целиком. Не убирайте его, пока не подтверждено, что назначение выделено именно под зеркало и лишние объекты действительно должны исчезнуть.
Обычное продолжение передачи не требует /MIR. В основном примере используется /E: это не зеркалирование с очисткой лишнего назначения. [1]
Повторный просмотр той же задачи через /L помогает найти файлы, которые всё ещё требуют копирования по правилам Robocopy. Но сравнение времени и размера не является криптографической проверкой содержимого.
Для важного большого файла сравните SHA-256 оригинала и копии:
PowerShell
Get-FileHash -LiteralPath 'D:\Archive\video.mp4' -Algorithm SHA256
Get-FileHash -LiteralPath '\\NAS\Backup\ArchiveCopy\video.mp4' -Algorithm SHA256Совпадение подтверждает содержимое этих двух прочитанных файлов, а не всего архива. Полная проверка каждого файла потребует чтения всего объёма и дополнительного времени. Назначение Get-FileHash описано Microsoft. [2]
Откройте нужные документы и видео непосредственно из назначения. Сохраните журнал и исходник до завершения проверки состава. Только после этого принимайте отдельное решение об удалении исходных материалов.