Day: March 4, 2026
The Robocopy Masterclass: Faster Migrations with Multi-Threading | Lazy Admin Blog

Why use File Explorer when you can use a 128-thread engine?
If you are still using “Drag and Drop” to move terabytes of data, stop. Not only is it slow, but if the network blips for half a second, the whole process fails. Robocopy is built to survive network hiccups and, since Windows 7, it has a “Turbo” button called Multi-threading (/MT).
1. The “Standard” Lazy Migration Command
If you just want to move a folder and make sure all the permissions (ACLs) stay intact, this is your go-to string:
ROBOCOPY C:\sourcefolder C:\destinationfolder /E /COPY:DATS /LOG+:C:\temp\Robocopy_logs.txt
- /E: Copies all subfolders, even the empty ones.
- /COPY:DATS: This is the magic. It copies Data, Attributes, Timestamps, and Security (NTFS ACLs).
- /LOG+: Appends the results to a text file. Always log your copies. If something is missing later, the log is your evidence.
2. Going “Turbo” with Multi-Threading (/MT)
By default, Windows copies files one by one (Serial). With the /MT switch, you can open up to 128 “lanes” of traffic.
- Default:
/MT:8(8 files at once) - Aggressive:
/MT:32(Sweet spot for most servers) - Extreme:
/MT:128(Use this for thousands of tiny files)
Pro Tip:
/MTis not compatible with/IPG(which slows down copies to save bandwidth) or/EFSRAW. If you want speed, stick to/MT.
3. Real-World Examples: Migrating Mapped Drives
When migrating large volumes (like a mapped Y: or Z: drive), you want to use the /MIR (Mirror) switch. This makes the destination an exact clone of the source.
Example: Migrating a Production Volume
ROBOCOPY Y:\lfvolumes\DEFAULT E:\MIGRATE_PRD\E_Drive /MIR /MT:24 /LOG+:D:\Logs\Edrive.txt
Example: Copying a Single Giant SQL Backup (.BAK)
ROBOCOPY T:\ E:\Migrations\ db_backup.BAK /ZB /J /LOG+:D:\Logs\backup.txt
- /ZB: Restartable mode (if the network drops, it picks up where it left off).
- /J: Unbuffered I/O (Recommended for huge files like database backups).
4. The “Cheat Sheet” of Switches
| Switch | What it does |
| /MIR | Mirroring. Deletes files in destination that no longer exist in source. |
| /Z | Restartable Mode. Survives network glitches. |
| /R:n | Number of retries (Default is 1 million—set this to 3 or 5 instead!). |
| /W:n | Wait time between retries (Default is 30 seconds). |
| /FFT | Use this if copying to a Linux NAS to avoid timestamp issues. |
🛡️ Lazy Admin Warning:
Be careful with /MIR. If you accidentally point it at an empty source folder, it will “Mirror” that emptiness by deleting everything in your destination. Always test with the /L (List Only) switch first to see what would happen without actually doing it.
This entry was posted in Scripts and tagged /MT Switch, Copy NTFS Permissions, Data Migration Tool, Mirror Directory PowerShell, Multi-threaded File Copy, Robocopy Examples, Robocopy Logging, Robocopy Syntax, Windows Server Migration.