How to Use Robocopy With Progress and Resume on Windows 11
🔍 WiseChecker

How to Use Robocopy With Progress and Resume on Windows 11

Quick fix: From Terminal, run robocopy "source" "destination" /E /MT:8 /R:3 /W:5 /ETA /TEE /LOG+:robocopy.log. The /E copies all subfolders, /MT:8 multi-threads, /R:3 /W:5 retries 3 times with 5-second waits, /ETA shows estimated time, /TEE logs to console AND file. Resume by re-running the same command — robocopy skips already-copied files.

Robocopy is the most reliable Windows tool for large/critical file transfers. Built into Windows, multi-threaded, supports resume, handles network drops, preserves metadata. Far better than File Explorer’s copy dialog for backups, server-to-server transfers, and long-running operations.

Symptom: Need to copy many files or large folders with progress display and ability to resume after interruption.
Affects: Windows 11 (and Windows 10).
Fix time: ~5 minutes to write command; copy time varies.

ADVERTISEMENT

What causes this

Built-in Windows copy uses a simple sequential file transfer with no resume capability. Interruption mid-copy means starting over. Robocopy is designed for robust transfers: it indexes both source and destination first, skips files already present at destination with matching size+timestamp, uses multiple threads, and survives network glitches.

Method 1: Standard robocopy with progress + resume

The everyday command.

  1. Open Terminal.
  2. Basic copy with retry and ETA:
    robocopy "C:\source" "D:\destination" /E /MT:8 /R:3 /W:5 /ETA

    Flags:

    • /E — include empty subfolders. Use /S for non-empty only.
    • /MT:8 — multi-threaded with 8 threads. Speeds up many-small-file copies.
    • /R:3 — retry 3 times on failure (default is 1 million; way too high).
    • /W:5 — wait 5 seconds between retries (default 30).
    • /ETA — show estimated time of arrival.
  3. To resume after interruption: re-run the exact same command. Robocopy detects already-copied files (matching size+timestamp) and skips them.
  4. For verbose logging: add /V. To log to a file: /LOG:robocopy.log (overwrite) or /LOG+:robocopy.log (append).
  5. For console + file logging: /TEE /LOG+:robocopy.log.

This is the standard robocopy command pattern.

ADVERTISEMENT

Method 2: Mirror mode for backup synchronization

For backups where destination should exactly match source.

  1. Mirror command:
    robocopy "C:\source" "D:\backup" /MIR /MT:16 /R:3 /W:5

    The /MIR flag combines /E with /PURGE: empty subfolders included, files deleted from source are also deleted from destination.

  2. Caution: /MIR deletes destination files not in source. Verify source is correct before running.
  3. For first-time backup: skip /MIR initially. Use /E. Once destination matches, switch to /MIR for ongoing sync.
  4. To preserve security ACLs:
    robocopy "C:\source" "D:\backup" /MIR /SEC /MT:16

    Or /COPYALL for everything (security, attributes, timestamps, owner, auditing).

  5. For scheduled backup: save command in a .bat file. Schedule via Task Scheduler — daily at 3 AM.
  6. For network destinations: add /Z for restartable mode (resumes from byte-level on disconnect).

Mirror is the right approach for backup workflows.

Method 3: Advanced filtering and exclusions

For selective copies.

  1. Exclude specific subfolders:
    robocopy "C:\source" "D:\dest" /E /XD node_modules .git build

    The /XD flag excludes named directories from the copy.

  2. Exclude specific files:
    /XF *.tmp *.log thumbs.db
  3. Copy only recent files (last 7 days):
    /MAXAGE:7
  4. Copy only files larger than N bytes:
    /MIN:1048576  (1 MB)
  5. Dry-run (preview without actually copying):
    /L

    Shows what would be copied without doing it.

  6. For full options reference: robocopy /? or visit Microsoft Learn for robocopy syntax.

This is the right path for selective backups.

How to verify the fix worked

  • Robocopy ends with a summary table: Total Files, Files Copied, Files Skipped, Files Failed.
  • For resume: re-run command. Files Skipped should be ~100% on second run (everything already copied).
  • Check destination folder. File count and total size should match source.
  • Read the log file (if /LOG used) for detailed transfer record.

If none of these work

If robocopy fails repeatedly: Permissions issue: run Terminal as Administrator. Some source files require elevated read; some destinations require elevated write. Long paths: Windows’s MAX_PATH is 260 characters. Files with longer paths fail. Add /256 to enable long path support (or enable system-wide via Group Policy → Filesystem → Enable Win32 long paths). Network drops: add /Z for restartable mode. Network reconnect doesn’t lose progress. For very large files (>4 GB) to FAT32 destination: FAT32 max file size is 4 GB. Reformat destination to NTFS or exFAT. For files in use: open files (Outlook PST in use) can’t be copied. Schedule robocopy during off-hours when fewer apps are running. For locked system files: VSS (Volume Shadow Copy) snapshots can copy locked files. robocopy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Users\me" "D:\backup" — complex; use scheduled task with PowerShell instead.

Bottom line: robocopy source dest /E /MT:8 /R:3 /W:5 /ETA is the everyday command. Resume by re-running. Use /MIR for backup sync. /XD and /XF for exclusions.

ADVERTISEMENT