Windows : utiliser Robocopy pour copier des fichiers sur le réseau

Qu'avons-nous dans la boîte ?
Robocopy est un outil intégré à Windows qui s’avère très puissant et efficace pour effectuer des copies de fichiers via le réseau. Il est disponible sur les différentes versions de Windows, aussi bien Windows 10, Windows 11 que Windows Server 2012 R2, Windows Server 2016 ou encore Windows Server 2022. C’est, à mon humble avis, un outil à connaître !
Bien que cet article se concentre sur l’utilisation de Robocopy, je vais aborder la création d’un partage sous Windows 11 de manière succincte, car ce n’est pas l’objet de l’article.
1. Créer un partage sous Windows 11
Pour transférer des fichiers d’une machine A vers une machine B, il faut que la machine B dispose d’un partage prêt à accueillir les données transférées via le réseau. Que ce soit avec Robocopy, xcopy ou la commande PowerShell Copy-Item. Enfin, il y a tout de même une alternative : l’utilisation des partages administratifs dont « c$ » fait partie pour accéder directement à la racine du disque local « C » où est installé Windows.
Pour créer un partage qui s’appelle tout simplement « Partage » sur Windows 11 (ou une autre version), c’est très simple. Il suffit de créer le dossier, par exemple « C:\Partage » puis de le partager :
1 – Cliquer droit « Propriétés«
2 – Onglet « Partage » puis « Partage avancé » (on peut aussi utiliser « Partager… »)
3 – Cocher l’option « Partager ce dossier » et attribuer le nom « Partage » (ou autre chose)
4 – Cliquer sur le bouton « Autorisations » pour ajouter les droits de modifications, afin que l’on puisse écrire avec Robocopy – En lecture, il faut se contenter de récupérer des informations sur le partage, dans le sens partage distant vers machine locale.

5 – Valider : le partage est créé – Les autorisations et autres paramètres sont modifiables à tout moment
Pour visualiser les partages actifs sur une machine en utilisant la ligne de commande :
# Commande MS-DOS
net share
# Commande PowerShell
Get-SmbShare
2. Utiliser Robocopy pour transférer des fichiers
Maintenant que le partage est en place, nous allons voir comment copier des fichiers de la machine locale vers le partage distant.
- Source : contenu du dossier « C:\Users\Tutobox\Documents\ »
- Destination : le partage « \\W11\Partage »
Sans options, Robocopy s’utilise de cette façon :
robocopy <source> <destination>
Mais l’outil a tellement d’options pratiques que ce serait dommage de s’en priver. Utilisons plutôt ce modèle :
robocopy <source> <destination> /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16
Prêt à tester ? Exécutez une invite de commandes ou une console PowerShell en tant qu’admin (avec un clic droit).
Si l’on reprend le modèle précédent et que l’on applique nos valeurs, ça donne :
robocopy "C:\Users\Tutobox\Documents\" "\W11\Partage" /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16
La sortie de Robocopy est complète (c’est appréciable), on peut visualiser l’ensemble des fichiers copiés, avec le chemin complet, ainsi qu’un résumé qui permet de voir le nombre de succès et d’échecs, ainsi que le débit pour le transfert. Pour inverser le sens de copie, il suffit d’inverser les deux chemins dans la commande.

Cette commande a plein d’options, mais à quoi elles servent ? Je vais vous expliquer, car l’idée n’est pas d’utiliser la commande bêtement…! J’ai volontairement inclus certaines options pour vous montrer que l’on pouvait personnaliser un max la commande Robocopy, mais c’est ajustable à votre guise.
- /S – Copie les sous-répertoires, mais pas les vides.
- /E – Copie les sous-répertoires, y compris les vides.
- /Z – Copie les fichiers en mode redémarrable. En mode redémarré, si une copie de fichier doit être interrompue, Robocopy peut reprendre là où il s’est arrêté au lieu de recopier l’intégralité du fichier.
- /ZB – Utilise le mode redémarrable. Si l’accès est refusé, utilise le mode de sauvegarde.
- /R:5 – Réessaie 5 fois en cas d’échec (la valeur par défaut est 1 million : c’est beaucoup et même bloquant !).
- /W:5 – Attends 5 secondes entre chaque essai (la valeur par défaut est 30 secondes).
- /TBD – Attendre que les noms de partage soient définis
- /NP – N’affiche pas le pourcentage copié.
- /V – Mode bavard pour afficher les fichiers ignorés.
- /MT:16 – Faire des copies multithreadées, avec 16 threads dans cet exemple (par défaut 8 – maximum : 128).
Pensez à faire des tests, car certaines options peuvent vraiment avoir un impact sur les performances ! Le débit réseau peut être amélioré, mais la machine plus sollicitée donc il faut trouver le bon compromis. L’option « /MOV » n’est pas utilisée dans notre exemple, mais elle permet de déplacer les données avec Robocopy, et non d’effectuer une copie.
L’aide de Robocopy est également votre alliée :
robocopy /?
Perso, il y a une autre fonction que j’utilise souvent avec Robocopy, c’est la fonction de miroir (/MIR) qui permet de synchroniser la source et la destination pour que l’un soit le miroir de l’autre. On peut également synchroniser les droits (/SEC).
robocopy <source> <destination> /MIR /SEC
D’après l’aide :
- /MIR : met en MIRoir une arborescence (équivaut à /E plus /PURGE)
- /SEC : copie des fichiers avec sécurité (équivaut à /COPY:DATS)
3. Conclusion
Nous avons vu un cas d’usage, mais Robocopy est un outil très polyvalent avec beaucoup d’options ! Je vous encourage à l’explorer dans un environnement de test pour valider les options avant de les utiliser en production.
Grâce à cet article de la boîte à tutoriels informatique, vous êtes capable de faire vos premiers pas avec Robocopy sous Windows !
Ressources :