Ce tutoriel décrit comment utiliser robocopy pour copier tous les fichiers et dossiers d’une source vers une destination. Avec la même commande, vous pouvez l’exécuter à nouveau plus tard, et elle ne copiera que les fichiers qui ont été modifiés vers la destination. De même, si des fichiers ont été supprimés de la source, elle les supprimera également de la destination. Cette commande conservera également toutes les permissions NTFS et les attributs de fichiers.
Un scénario d’utilisation typique de cette commande est la copie d’un grand partage de fichiers. Vous pouvez exécuter la commande une fois pour copier l’essentiel des données, puis vous pouvez l’exécuter à nouveau plus tard, et elle ne copiera que les fichiers modifiés, ce qui la rendra beaucoup plus rapide.
robocopy C:\source C:\dest /TEE /LOG+:c:\robolog.txt /MIR /copyall /zb /w:1 /r:2 /xo
D’abord, je vais vous montrer des exemples de cette commande en action, puis je décomposerai la commande pour vous montrer ce que fait chaque partie. (Assurez-vous de lancer l’invite de commande en tant qu’administrateur)
Dans l’image ci-dessous, vous voyez un répertoire source et un répertoire de destination. La source a plusieurs dossiers avec des données dedans. La destination est vide.
Après avoir exécuté la commande robocopy ci-dessus, tout en utilisant C:\ITswapshop.com\source comme dossier source, et C:\ITswapshop.com\destination comme dossier de destination, vous pouvez voir que le dossier de destination est maintenant identique à la source:
Maintenant, je vais supprimer un fichier de la source, puis ajouter un fichier différent à la source. Voyez ce qui se passe lorsque je relance la commande :
Le fichier qui a été supprimé de la source, est également supprimé de la destination. De même, le fichier nouvellement ajouté à la source est copié sur la destination. Tous les fichiers qui n’ont pas été modifiés sont ignorés.
Maintenant, décomposons la commande pour savoir exactement ce que fait chaque commutateur :
/TEE – Cela affichera la sortie de la commande dans la fenêtre de la console, et elle l’écrira dans un journal pour un examen ultérieur.
/LOG+c:\robolog.txt – Cela indique à la commande où écrire les journaux. Le signe + lui indique d’ajouter le fichier journal, au lieu de l’écraser.
/MIR – Cette commande copiera tous les fichiers et sous-dossiers, et elle supprimera les fichiers/dossiers de la destination, s’ils n’existent plus sur la source.
/COPYALL – Cette commande copiera toutes les permissions et tous les attributs NTFS (permissions de sécurité, horodatages, informations sur le propriétaire…)
/ZB – Cette commande utilise le mode redémarrable lors de la copie des fichiers. Si un fichier est en cours d’utilisation, il réessayera après un laps de temps défini. Si l’accès est refusé, il essaiera de copier en mode sauvegarde.
/W:1 – Ceci spécifie d’attendre 1 seconde entre les tentatives lors de la copie de fichiers.
/R:2 – Ceci spécifie le nombre de tentatives sur les copies échouées.
/XO – Ceci exclut les fichiers/dossiers plus anciens si le fichier/dossier de destination existe et est de la même date
.