Robocopy, contraction de “Robust File Copy”, est l’un des outils les plus sous-estimés de l’écosystème Windows. Livré nativement avec Windows depuis Vista/Server 2008, il est devenu le couteau suisse des admins pour copier, synchroniser et migrer des données de façon fiable, traçable et très performante. Là où l’Explorateur Windows reste pratique pour des usages ponctuels, Robocopy vise clairement l’industriel : gros volumes, liaisons réseau instables, conservation des droits NTFS, reprise sur erreur, et automatismes.
Pourquoi Robocopy est différent
1) Robustesse réseau
Robocopy sait reprendre une copie interrompue (option /Z), réessayer intelligemment (/R:n /W:n), ignorer les fichiers temporaires ou verrouillés, et produire des rapports exploitables. C’est précisément pour ça qu’il est recommandé dans les scénarios de sauvegarde ou de migration réseau.
2) Préservation des attributs et permissions
Contrairement à une copie “simple”, Robocopy peut préserver :
données, attributs, timestamps (
/COPY:DAT)droits NTFS/ACL (
/COPY:DATSOUou/SEC)propriétaires et audit si besoin (
/COPYALL)
Ces options sont cruciales quand tu migres un serveur de fichiers ou un partage d’entreprise.
3) Performance
Robocopy copie en multi-thread (/MT) ce qui accélère massivement le transfert de milliers de petits fichiers sur SMB. Sur les gros fichiers (>1 Go), le mode I/O non bufferisé (/J) évite de saturer le cache mémoire. Depuis Windows Server, Microsoft le positionne ouvertement comme l’outil le plus performant pour ces cas-là.
Les cas d’usage classiques
Backup miroir vers NAS
Objectif : copie exacte de la source, suppressions incluses.
Synchronisation incrémentale
Objectif : ne copier que les nouveautés/modifications.
Migration de serveur de fichiers
Objectif : bascule en conservant droits et attributs.
Transfert vers le cloud (Azure Files, Data Box, etc.)
Robocopy est souvent l’outil “dernier kilomètre” via SMB.
Les options essentielles (à connaître par cœur)
Structure de base
robocopy <source> <destination> [fichiers] [options]
Robocopy fonctionne par défaut sur *.* si tu ne précises pas de filtre.
Copy / sync
/E: copie tous les sous-dossiers, y compris vides./MIR: miroir strict =/E+ suppression côté destination de ce qui n’est plus côté source.
À utiliser avec prudence si la destination contient autre chose.
Résilience réseau
/Z: copie “restartable”./R:3 /W:5: 3 retries, attente 5 s entre retries.
Permissions / métadonnées
/COPY:DAT: Data, Attributes, Timestamps (souvent suffisant)./SECou/COPY:DATSOU: ajoute ACL, Owner, Audit pour migration.
Perf
/MT:8: multi-thread (1–128)./J: unbuffered I/O pour gros fichiers./COMPRESS: demande une compression SMB lors du transfert, utile sur liens WAN ou fichiers lourds.
Logs
/LOG:"C:\Logs\rc.log": log dans un fichier./LOG+:: append./NP /NDL /NFL: réduit le bruit dans les logs.
Exemples concrets
1) Sauvegarde miroir quotidienne vers NAS
robocopy "D:\DATA" "\\NAS\backup\data" /MIR /Z /R:3 /W:5 /MT:8 /FFT /XJ /LOG+:"C:\Logs\backup.log"
Pourquoi ces choix ?
/MIRpour un vrai miroir/FFTsi destination non-NTFS (NAS Linux) : tolérance timestamps 2 s/XJévite les boucles via junctions/MTpour accélérer Microsoft Learn+1
2) Migration serveur avec conservation complète
robocopy "\\OLD-SRV\partage" "\\NEW-SRV\partage" /E /Z /COPY:DATSOU /DCOPY:T /R:5 /W:5 /MT:16 /LOG:"C:\Logs\migration.log"
/COPY:DATSOU+/DCOPY:Tconservent droits et dates de dossiers, utile quand tu dois “rejouer” la copie plusieurs fois avant bascule. Microsoft Learn+1
3) Gros VHDX à travers un lien réseau
robocopy "E:\VMs" "\\SRV\VMs" *.vhdx /J /Z /MT:4 /COMPRESS /LOG:"C:\Logs\vms.log"
Comprendre les codes retour (très important en script)
Robocopy n’utilise pas les codes classiques “0=OK /1=Erreur”.
Il renvoie un bitmask : on considère généralement que tout ce qui est < 8 est OK ou OK avec avertissements (fichiers copiés, différences mineures). À partir de 8, c’est une erreur réelle.
Exemples :
0: rien à copier (déjà à jour)1: tout copié3: copié + fichiers en plus côté destination8et + : échecs / erreurs à traiter
En task planifiée ou CI/CD, teste donc if %ERRORLEVEL% GEQ 8 exit /b %ERRORLEVEL%.
Les pièges classiques
/MIRsans filetSi tu te trompes de destination, tu peux vider un partage.
Astuce : teste d’abord avec
/L(list only).
NAS / Linux et timestamps
Ajoute
/FFTpour éviter les recopies “fantômes”.
Multi-thread trop agressif
/MT:128n’est pas toujours mieux : ça peut saturer un NAS ou un lien. Microsoft conseille d’ajuster selon CPU/IO.
Droits réseau en tâche planifiée
“Exécuter que l’utilisateur soit connecté ou non” = attention aux accès SMB. Utilise un compte qui a les droits.
Robocopy en 2025 : toujours incontournable
Même avec l’essor du cloud et des outils de sync modernes, Robocopy reste une brique simple, transparente et ultra fiable. Sa logique “admin-friendly” (logs, codes retour, jobs, options de copie fines) en fait un standard de fait pour :
les migrations Windows ↔ Windows,
les backups vers NAS,
les transferts SMB vers Azure Files,
et toutes les automatisations planifiées en environnement pro.



