Robocopy (ou Robust File Copy) est un utilitaire en ligne de commande permettant de faire de la réplication de dossiers et fichiers. Cet utilitaire a été introduit dans le « Resource Kit » de Windows Server 2003 et est intégré par défaut à Windows depuis Windows Server 2008 et Windows Vista, il est présent sur toute les versions suivantes que ce soit les versions poste de travail (Windows 7, 8, 8.1 et 10) ou les versions serveur (Windows Server 2008 R2, 2012, 2012 R2). Il est ainsi totalement GRATUIT.
Il permet de copier un répertoire récursivement comme xcopy, mais il présente plusieurs avantages supplémentaires:
- Il permet une reprise de copie en cas d’erreur
- Il permet une copie différentiel évitant de copier des fichiers déjà copiés
- Il affiche la progression de la copie
- Il copie des fichiers et des répertoires de plus de 256 caractères (limite 32000)
- Il peut être utilisé en mode batch car il renvoit un code retour.
- Il offre un mode mirroir qui permet de synchroniser deux répertoires
- Il est multithread dans les dernières versions.
Il est disponible en ligne de commande mais comme je ne me rappel pas souvent des différents options, je préfère utiliser l’interface graphique à télécharger ici
Si vous voulez faire manuellement votre robocopy dans une commande cmd, La syntaxe permettant de copier les fichiers et dossiers d’un emplacement source vers un autre emplacement est la suivante :
robocopy <Source_folder> <Destination> [fichier_a_copier] [options]
Exemple :
robocopy "C:\Scanner" "\\srv-data\Scanner" /E /COPYALL /V /NP /R:10 /W:30
Voici un rappel de l’ensemble des options
1 – Options de Copie
/s | Copie les sous-répertoires. Notez que cette option exclut les répertoires vides. |
|||
/e | Copie les sous-répertoires. Notez que cette option inclut les répertoires vides. section Notes. |
|||
/Lev:<n> | /z | Copie les fichiers en mode redémarrage. | ||
/b | Copie les fichiers en mode de sauvegarde. | |||
/ZB | Utilise le mode de redémarrage. Si l’accès est refusé, cette option utilise le mode de sauvegarde. | |||
/EFSRAW | Copie tous les fichiers cryptés en mode EFS RAW. | |||
/copy:<CopyFlags> | Spécifie les propriétés du fichier à copier. Les valeurs valides pour cette option sont les suivantes :
/DCOPY:T |
Copie des horodatages des répertoires. | ||
/sec | /COPYALL | /NoCopy | /secfix | Corrige la sécurité sur tous les fichiers, même ceux qui sont ignorés. |
/TIMFIX | Corrige les heures sur tous les fichiers, même ceux qui sont ignorés. | |||
/Purge | Supprime les fichiers de destination et les répertoires qui n’existent plus dans la source. section Notes. | |||
/MIR | section Notes. | |||
/mov | Déplace les fichiers et les supprime de la source une fois qu’ils sont copiés. | |||
/Move | Déplace les fichiers et répertoires et les supprime de la source une fois qu’ils sont copiés. | |||
/a+:[RASHCNET] | Ajoute les attributs spécifiés pour les fichiers copiés. | |||
/a-:[RASHCNET] | Supprime les attributs spécifiés dans les fichiers copiés. | |||
/create | Crée une arborescence de répertoires et fichiers de longueur nulle uniquement. | |||
/fat | Crée des fichiers de destination uniquement au format FAT soit 8 caractères pour le nom, et 3 pour l’extension. | |||
/256 | Désactive la prise en charge des chemins d’accès très longs (plus de 256 caractères). | |||
/mon:<n> | /mot:<m> | /RH:hhmm-hhmm | Spécifie le temps d’exécution lorsque les nouvelles copies peuvent être lancées. | |
/PF | Les contrôles d’exécution sont réalisés sur une base par fichier (et non par passe). | |||
/IPG:n | Spécifie l’intervalle de besoins pour libérer de la bande passante sur les lignes lentes. | |||
/SL | Copie le lien symbolique plutôt que la cible. |
Lorsque vous utilisez l’option de copie /SECFIX , spécifiez le type d’informations de sécurité que vous souhaitez copier également l’une de ces options de copie supplémentaire :
– /COPYALL
– /COPY:O
– /COPY:S
– /COPY:U
– /S
2- Option de sélection de fichier
Option | Description | ||||||
---|---|---|---|---|---|---|---|
/a | /m | /IA: [RASHCNETO] | Inclut uniquement les fichiers dont les attributs spécifiés sont définies. | ||||
/XA: [RASHCNETO] | Exclut les fichiers dont les attributs spécifiés sont définis | ||||||
/xf <nom de fichier> […] | Exclut les fichiers qui correspondent aux chemins d’accès ou les noms spécifiés. /XD <Répertoire> […] | Exclut les répertoires qui correspondent aux chemins d’accès et les noms spécifiés. | |||||
/xct | Exclut les fichiers modifiés. | ||||||
/Xn | Exclut les fichiers plus récents. | ||||||
/xo | Exclut les fichiers plus anciens. | ||||||
/xx | Exclut des fichiers et répertoires supplémentaires. | ||||||
/XL | Exclut des répertoires et fichiers individuels. | ||||||
/is | Inclut les mêmes fichiers. | ||||||
/IT | Inclut les fichiers « modifiés ». | ||||||
/max : <n> | /min: <N> | /MaxAge : <N> | /MINAGE : <N> | /MAXLAD : <N> | /MINLAD : <N> | /XJ | Exclut les points de jonction, qui sont normalement inclus par défaut. |
/FFT | Considère l’horodatage des fichiers en mode FAT (précision de deux secondes). |
||||||
/DST | Compense les différences d’une heure due à l’heure d’été. | ||||||
/XJD | Exclut les points de jonction de répertoires. | ||||||
/XJF | Exclut les points de jonction pour les fichiers. |
3 – Options de nouvel essai
/r:<n> | Spécifie le nombre de ré-essais si la copie initiale échoue. /w:<n> | Spécifie le délai d’attente entre 2 essais, en secondes. /reg | Enregistre les valeurs spécifiées dans les options /r et /w comme valeurs par défaut dans le Registre. |
/TBD | Spécifie que le système attendra que les noms de partage soient définis (retry erreur 67). |
4 – Option de journalisation
Option | Description |
---|---|
/L | Spécifie que les fichiers doivent être listés uniquement (et non copiés, supprimés, ou horodatés). |
/x | Signale tous les fichiers supplémentaires, pas seulement ceux qui sont sélectionnés. |
/v | Génère la sortie détaillée et affiche tous les fichiers ignorés. |
/TS | Inclut les horodatages de fichier source dans la sortie. |
/ FP | Inclut les noms de chemin d’accès complet des fichiers dans la sortie. |
/bytes | Imprime la taille, en octets. |
/NS | Spécifie que la taille des fichiers ne doit pas être journalisée. |
/NC | Spécifie que les classes de fichier ne doivent pas être journalisées. |
/NFL | Spécifie que les noms de fichiers ne doivent ne pas être journalisés. |
/ndl | Spécifie que les noms de répertoire ne doivent ne pas être journalisés. |
/NP | Spécifie que la progression de l’opération de copie (le nombre de fichiers ou répertoires copiés jusqu’ici) n’est pas affichée. |
/ETA | Affiche l’heure estimée d’arrivée (ETA) des fichiers copiés. |
/log:<LogFile> | Écrit la sortie de l’état dans le fichier journal (remplace le fichier journal existant). |
/log+ : <LogFile> | Écrit la sortie de l’état dans le fichier journal (ajoute la sortie au fichier journal existant). |
/ Unicode | Affiche la sortie de l’état au format texte Unicode. |
/UNILOG : <LogFile> | Écrit l’état dans le fichier journal de sortie en tant que texte Unicode (remplace le fichier journal existant). |
/UNILOG+ : <LogFile> | Écrit l’état dans le fichier journal de sortie en tant que texte Unicode (ajoute la sortie au fichier journal existant). |
/tee | Écrit la sortie de l’état dans la fenêtre de console, ainsi que dans le fichier journal. |
/NJH | Spécifie qu’il n’y a aucun en-tête de tâche. |
/NJS | Spécifie qu’il n’y a aucun résumé de tâche. |
Autodidacte dans la majeure partie de mes compétences et créateur du site gabinhocity.eu, je surf tant bien sur la vague Windows que Linux. Profondément passionné par la découverte, mes loisirs sont partagés entre la photographie et les voyages.