robocopy

Copie des données de fichier d’un emplacement à un autre.

Syntaxe

robocopy <source> <destination> [<file>[ ...]] [<options>]

Par exemple, pour copier un fichier nommé yearly-report.mov de c:\reports vers un partage de fichiers \\marketing\videos tout en activant le multithreading pour des performances plus élevées (avec le paramètre /mt) et la possibilité de redémarrer le transfert en cas d’interruption (avec le paramètre /z), tapez :

robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z

Important

Si des données sont copiées à partir de la racine d’un appareil, le répertoire de destination adopte l’attribut « masqué » pendant le processus de copie.

Paramètres

Paramètre Description
<source> Spécifie le chemin d’accès au répertoire source.
<destination> Spécifie le chemin d’accès au répertoire de destination.
<file> Spécifie le ou les fichiers à copier. Les caractères génériques (* ou ?) sont pris en charge. Si vous ne spécifiez pas ce paramètre, *.* est utilisé comme valeur par défaut.
<options> Spécifie les options à utiliser avec la commande robocopy, notamment les options de copie, de fichier, de nouvelle tentative, de journalisation et de travail.

Options de copie

Option Description
/s Copie les sous-répertoires. Cette option exclut automatiquement les répertoires vides.
/e Copie les sous-répertoires. Cette option inclut automatiquement les répertoires vides.
/lev:<n> Copie uniquement les n niveaux supérieurs de l’arborescence du répertoire source.
/z Copie les fichiers en mode de redémarrage. En mode de redémarrage, si une copie de fichier est interrompue, robocopy peut reprendre là où elle s’était arrêtée au lieu de recopier l’intégralité du fichier.
/b Copie les fichiers en mode de sauvegarde. En mode de sauvegarde, robocopy remplace les paramètres d’autorisation de fichier et de dossier (ACL), qui peuvent autrement bloquer l’accès.
/zb Copie les fichiers en mode de redémarrage. Si l’accès aux fichiers est refusé, passe en mode de sauvegarde.
/j Copie à l’aide d’E/S non mises en mémoire tampon (recommandé pour les fichiers volumineux).
/efsraw Copie tous les fichiers chiffrés en mode EFS brut.
/copy:<copyflags> Spécifie les propriétés de fichier à copier. Les valeurs valides pour cette option sont les suivantes :
  • D - Données
  • A - Attributs
  • T - Horodatage
  • X - Ignorer les flux de données de remplacement
  • S - Liste de contrôle d’accès (ACL) NTFS
  • O - Informations sur le propriétaire
  • U - Informations d’audit
La valeur par défaut de l’option /COPY est DAT (données, attributs et horodatage). L’indicateur X est ignoré si /B ou /ZB est utilisé.
/dcopy:<copyflags> Spécifie les éléments à copier dans les répertoires. Les valeurs valides pour cette option sont les suivantes :
  • D - Données
  • A - Attributs
  • T - Horodatage
  • E - Attributs étendus
  • X - Ignorer les flux de données de remplacement
La valeur par défaut de cette option est DA (données et attributs).
/s Copie les fichiers avec sécurité (équivalent à /copy:DATS).
/copyall Copie toutes les informations de fichier (équivalent à /copy:DATSOU).
/nocopy Ne copie aucune information de fichier (utile avec /purge).
/secfix Corrige la sécurité des fichiers sur tous les fichiers, même ceux ignorés.
/timfix Corrige les heures des fichiers sur tous les fichiers, même ceux ignorés.
/purge Supprime les fichiers et répertoires de destination qui n’existent plus dans la source. L’utilisation de cette option avec l’option /e et un répertoire de destination permet de ne pas remplacer les paramètres de sécurité du répertoire de destination.
/mir Met en miroir une arborescence de répertoires (équivalent à /e plus /purge). L’utilisation de cette option avec l’option /e et un répertoire de destination remplace les paramètres de sécurité du répertoire de destination.
/mov Déplace les fichiers et les supprime de la source après leur copie.
/move Déplace les fichiers et les répertoires, et les supprime de la source après leur copie.
/a+:[RASHCNET] Ajoute les attributs spécifiés aux fichiers copiés. Les valeurs valides pour cette option sont les suivantes :
  • R - Lecture seule
  • A - Archive
  • S - Système
  • H - Caché
  • C - Compressé
  • N - Indexé sans contenu
  • E - Chiffré
  • T - Temporaire
/a-:[RASHCNETO] Supprime les attributs spécifiés des fichiers copiés. Les valeurs valides pour cette option sont les suivantes :
  • R - Lecture seule
  • A - Archive
  • S - Système
  • H - Caché
  • C - Compressé
  • N - Indexé sans contenu
  • E - Chiffré
  • T - Temporaire
  • O - Hors ligne
/create Crée une arborescence de répertoires et des fichiers de longueur nulle uniquement.
/fat Crée des fichiers de destination à l’aide de noms de fichiers FAT 8.3 uniquement.
/256 Désactive la prise en charge des chemins d’accès de plus de 256 caractères.
/mon:<n> Surveille la source et s’exécute à nouveau lorsque plus de n modifications sont détectées.
/mot:<m> Surveille la source et s’exécute à nouveau dans m minutes si des modifications sont détectées.
/rh:hhmm-hhmm Spécifie les heures d’exécution auxquelles de nouvelles copies peuvent être lancées.
/pf Vérifie les durées d’exécution par fichier (et non par passage).
/ipg:<n> Spécifie le délai entre paquets pour libérer la bande passante sur les lignes de bas débit.
/sj Copie les jonctions (liens symboliques) vers le chemin de destination au lieu des cibles de lien.
/sl Ne suit pas les liens symboliques et crée plutôt une copie du lien.
/mt:<n> Crée des copies multithreads avec n threads. n doit être un entier compris entre 1 et 128. La valeur par défaut de n est 8. Pour de meilleures performances, redirigez votre sortie à l’aide de l’option /log.

Le paramètre /mt ne peut pas être utilisé avec les paramètres /ipg et /efsraw.

/nodcopy Ne copie aucune information de répertoire (valeur par défaut équivalente à : /dcopy:DA).
/nooffload Copie des fichiers sans utiliser le mécanisme de déchargement de copie de Windows.
/compress Demande une compression réseau pendant le transfert de fichiers, le cas échéant.
/sparse Permet de conserver l’état épars des fichiers pendant la copie.

Important

Lorsque vous utilisez l’option de copie /secfix, spécifiez le type d’informations de sécurité que vous souhaitez copier, à l’aide de l’une des options de copie supplémentaires suivantes :

  • /copyall
  • /copy:o
  • /copy:s
  • /copy:u
  • /sec

Notes

Le paramètre /mt a été introduit dans Windows Server 2008 R2 et ses fonctionnalités s’appliquent aux versions actuelles de Windows Server.

Options de limitation des fichiers de copie

Option Description
/iomaxsize:<n>[kmg] Taille maximale d’e/s demandée par cycle de lecture/écriture en nkilobytes, megabytes ou gigabytes.
/iorate:<n>[kmg] Taux d’e/s demandé en nkbitbytes megabytes, ou gigabytes par seconde.
/threshold:<n>[kmg] Seuil de taille de fichier pour la limitation en nkilobytes, megabytes ou gigabytes (voir Remarques).

Ces options de limitation sont utilisées pour spécifier la bande passante maximale d’E/S que Robocopy permet d’utiliser, en octets par seconde. Si non spécifié en octets par seconde, des nombres entiers peuvent être utilisés si k, m ou g sont spécifiés. La bande passante d’E/S minimale qui est limitée est de 524288 octets, même si une valeur inférieure est spécifiée.

Options de sélection de fichier

Option Description
/a Copie uniquement les fichiers pour lesquels l’attribut Archive est défini.
/m Copie uniquement les fichiers pour lesquels l’attribut Archive est défini et réinitialise l’attribut Archive.
/ia:[RASHCNETO] Inclut uniquement les fichiers pour lesquels l’un des attributs spécifiés est défini. Les valeurs valides pour cette option sont les suivantes :
  • R - Lecture seule
  • A - Archive
  • S - Système
  • H - Caché
  • C - Compressé
  • N - Indexé sans contenu
  • E - Chiffré
  • T - Temporaire
  • O - Hors ligne
/xa:[RASHCNETO] Exclut les fichiers pour lesquels l’un des attributs spécifiés est défini. Les valeurs valides pour cette option sont les suivantes :
  • R - Lecture seule
  • A - Archive
  • S - Système
  • H - Caché
  • C - Compressé
  • N - Indexé sans contenu
  • E - Chiffré
  • T - Temporaire
  • O - Hors ligne
/xf <filename>[ ...] Exclut les fichiers dont le nom ou le chemin correspond aux noms ou chemins spécifiés. Les caractères génériques (* et ?) sont pris en charge.
/xd <directory>[ ...] Exclut les répertoires dont le nom ou le chemin correspond aux noms ou chemins spécifiés.
/xc Exclut les fichiers existants ayant le même horodatage, mais des tailles de fichier différentes.
/xn Les fichiers du répertoire source plus récents que la destination sont exclus de la copie.
/xo Les fichiers du répertoire source plus anciens que la destination sont exclus de la copie.
/xx Exclut les fichiers et répertoires supplémentaires présents dans la destination, mais pas dans la source. L’exclusion de fichiers supplémentaires ne supprime pas les fichiers de la destination.
/xl Exclut les fichiers et les répertoires « solitaires » présents dans la source, mais pas dans la destination. L’exclusion des fichiers solitaires empêche l’ajout de nouveaux fichiers à la destination.
/im Inclut les fichiers modifiés (heures de modification différentes).
/is Inclut les mêmes fichiers. Les mêmes fichiers ont le même nom, la même taille, le même horodatage et tous les mêmes attributs.
/it Inclut les fichiers « optimisés ». Les fichiers optimisés ont le même nom, la même taille et le même horodatage, mais des attributs différents.
/max:<n> Spécifie la taille de fichier maximale (pour exclure les fichiers supérieurs à n octets).
/min:<n> Spécifie la taille de fichier minimale (pour exclure les fichiers inférieurs à n octets).
/maxage:<n> Spécifie l’âge maximal des fichiers (pour exclure les fichiers antérieurs à n jours ou à une date).
/minage:<n> Spécifie l’âge minimal des fichiers (pour exclure les fichiers postérieurs à n jours ou à une date).
/maxlad:<n> Spécifie la date maximale du dernier accès (exclut les fichiers inutilisés depuis n).
/minlad:<n> Spécifie la date minimale du dernier accès (exclut les fichiers utilisés depuis n). Si n est inférieur à 1900, n spécifie le nombre de jours. Sinon, n spécifie une date au format AAAAMMJJ.
/xj Exclut les points de jonction, qui sont normalement inclus par défaut.
/fft Calcule l’heure des fichiers FAT (à 2 secondes près).
/dst Compense les différences d’heure d’été d’une heure.
/xjd Exclut les points de jonction pour les répertoires.
/xjf Exclut les points de jonction pour les fichiers.

Options de nouvelle tentative

Option Description
/r:<n> Spécifie le nombre de nouvelles tentatives en cas d’échec de la copie. La valeur par défaut de n est 1000000 (un million de tentatives).
/w:<n> Spécifie le délai d’attente entre les tentatives, en secondes. La valeur par défaut de n est 30 (temps d’attente de 30 secondes).
/reg Enregistre les valeurs spécifiées dans les options /r et /w en tant que paramètres par défaut dans le Registre.
/tbd Spécifie que le système attend que les noms de partage soient définis (erreur de nouvelle tentative 67).
/lfsm Opérer en mode de faible espace libre qui active la copie, la pause et la reprise (voir Remarques).
/lfsm:<n>[kmg] Spécifie la taille du plancher en nkilobytes, megabytes ou gigabytes.

Options du journal

Option Description
/l Spécifie que les fichiers doivent être répertoriés uniquement (et non copiés, supprimés ni horodatés).
/x Signale tous les fichiers supplémentaires, pas seulement ceux qui sont sélectionnés.
/v Produit une sortie commentée et affiche tous les fichiers ignorés.
/ts Inclut l’horodatage des fichiers sources dans la sortie.
/fp Inclut le nom de chemin d’accès complet des fichiers dans la sortie.
/bytes Affiche les tailles en octets.
/ns Spécifie que les tailles de fichiers ne doivent pas être enregistrées.
/nc Spécifie que les classes de fichiers ne doivent pas être enregistrées.
/nfl Spécifie que les noms de fichiers ne doivent pas être enregistrés.
/ndl Spécifie que les noms de répertoires ne doivent pas être enregistré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 d’arrivée estimée (ETA) des fichiers copiés.
/log:<logfile> Écrit la sortie d’état dans le fichier journal (remplace le fichier journal existant).
/log+:<logfile> Écrit la sortie d’état dans le fichier journal (ajoute la sortie au fichier journal existant).
/unilog:<logfile> Écrit la sortie d’état dans le fichier journal sous forme de texte unicode (remplace le fichier journal existant).
/unilog+:<logfile> Écrit la sortie d’état dans le fichier journal sous forme de texte Unicode (ajoute la sortie au fichier journal existant).
/tee Écrit la sortie d’état dans la fenêtre de la console, ainsi que dans le fichier journal.
/njh Spécifie qu’il n’y a pas d’en-tête de travail.
/njs Spécifie qu’il n’y a pas de résumé de travail.
/unicode Affiche la sortie d’état sous forme de texte unicode.

Options de travail

Option Description
/job:<jobname> Spécifie que les paramètres doivent être dérivés du fichier de tâche nommé. Pour exécuter /job:jobname, vous devez d’abord exécuter le paramètre /save:jobname pour créer le fichier de tâche.
/save:<jobname> Spécifie que les paramètres doivent être enregistrés dans le fichier de tâche nommé. Cette opération doit être exécutée avant d’exécuter /job:jobname. Toutes les options de copie, de nouvelle tentative et de journalisation doivent être spécifiées avant ce paramètre.
/quit Quitte après le traitement de la ligne de commande (pour afficher les paramètres).
/nosd Indique qu’aucun répertoire source n’est spécifié.
/nodd Indique qu’aucun répertoire de destination n’est spécifié.
/if Inclut les fichiers spécifiés.

Notes

  • L’utilisation de /PURGE ou /MIR sur le répertoire racine du volume a précédemment entraîné l’application de l’opération demandée par robocopy sur les fichiers à l’intérieur du répertoire System Volume Information également. Ce n’est plus le cas, car si l’un ou l’autre est spécifié, robocopy ignore les fichiers ou répertoires portant ce nom dans les répertoires source et de destination de niveau supérieur de la session de copie.

  • La classification des fichiers modifiés s’applique uniquement lorsque les systèmes de fichiers source et de destination prennent en charge les horodatages de modification, tels que NTFS, et que les fichiers source et de destination ont des heures de modification différentes, mais sont sinon les mêmes. Ces fichiers ne sont pas copiés par défaut. Spécifiez /IM pour les inclure.

  • L’indicateur /DCOPY:E demande que la copie d’attribut étendue soit tentée pour les répertoires. Robocopy continue si les EA d’un répertoire n’ont pas pu être copiés. Cet indicateur n’est pas inclus dans /COPYALL.

  • Si /IoMaxSize ou /IoRate sont spécifiés, robocopy active la limitation des fichiers de copie pour réduire la charge système. Les deux peuvent être ajustés en fonction des valeurs optimales et des paramètres de copie, mais le système et robocopy sont autorisés à les ajuster aux valeurs autorisées si nécessaire.

  • Si /Threshold est utilisé, il spécifie une taille de fichier minimale pour la limitation d’engagement. Les fichiers inférieurs à cette taille ne sont pas limités. Les valeurs pour les trois paramètres peuvent être suivies d’un caractère de suffixe optionnel tel que [KMG] (kilooctets, mégaoctets, gigaoctets).

  • Utilisation de requêtes /LFSM robocopy pour fonctionner en « mode de faible espace disponible ». Dans ce mode, robocopy s’interrompt chaque fois qu’une copie de fichier réduit l’espace libre du volume de destination en dessous d’une valeur « plancher ». Cette valeur peut être spécifiée explicitement à l’aide de l’indicateur /LFSM:n[KMG].

  • Si /LFSM est spécifié sans valeur plancher explicite, le plancher est défini sur 10 % de la taille du volume de destination. Le mode de faible espace disponible est incompatible avec /MT et /EFSRAW.

Codes de sortie (retour)

Valeur Description
0 Aucun fichier n’a été copié. Aucune défaillance n’a été rencontrée. Aucun fichier ne présentait de problème de concordance. Les fichiers existent déjà dans le répertoire de destination ; par conséquent, l’opération de copie a été ignorée.
1 Tous les fichiers ont été copiés avec succès.
2 Il existe des fichiers supplémentaires dans le répertoire de destination qui ne sont pas présents dans le répertoire source. Aucun fichier n’a été copié.
3 Certains fichiers ont été copiés. Des fichiers supplémentaires étaient présents. Aucune défaillance n’a été rencontrée.
5 Certains fichiers ont été copiés. Certains fichiers présentaient un problème de concordance. Aucune défaillance n’a été rencontrée.
6 Des fichiers supplémentaires et des fichiers présentant un problème de concordance existent. Aucun fichier n’a été copié et aucun échec n’a été rencontré, ce qui signifie que les fichiers existent déjà dans le répertoire de destination.
7 Des fichiers ont été copiés, un fichier présentait un problème de concordance et des fichiers supplémentaires étaient présents.
8 Plusieurs fichiers n’ont pas été copiés.

Notes

Toute valeur égale ou supérieure à 8 indique qu’il y a eu au moins une défaillance pendant l’opération de copie.

Exemples

Lors de l’exécution de la commande robocopy, il est vivement recommandé de créer un fichier journal qui pourra être consulté une fois que le processus aura terminé de vérifier son intégrité. Chacun des exemples suivants utilise le paramètre /LOG:. Pour ajouter des informations de journalisation au même fichier journal, utilisez le paramètre /LOG+: à la place.

Pour copier tous les fichiers et sous-répertoires, y compris les répertoires vides, du dossier « Records » vers le dossier « Backup » sur le lecteur « D », tapez ce qui suit :

robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log

Pour créer un miroir du contenu du dossier « Records » dans le dossier « Backup » sur le lecteur « D » et supprimer tous les fichiers de la destination qui n’existent pas dans la source avec 2 nouvelles tentatives et 5 secondes d’attente entre chaque nouvelle tentative, tapez ce qui suit :

robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log

Pour copier tous les fichiers et sous-répertoires qui ne sont pas vides du dossier « Records » vers le dossier « Backup » sur le lecteur « D » en conservant les données des fichiers, les attributs et les horodatages avec une opération de copie à 16 threads, tapez ce qui suit :

robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log

Pour déplacer les fichiers et les sous-répertoires, à l’exception des répertoires vides, du dossier « Records » vers le dossier « Backup » sur le lecteur « D » en excluant les fichiers de plus de 7 jours, tapez ce qui suit :

robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log

Pour copier tous les fichiers et sous-répertoires, y compris les répertoires vides, du dossier « Records » vers le dossier « Backup » sur le lecteur « D » en indiquant le temps estimé pour chaque fichier, et supprimer de la destination tous les fichiers et répertoires qui n’existent pas dans la source, tapez ce qui suit :

robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log

Pour copier tous les fichiers et sous-répertoires du dossier nommé « Enregistrements » sur le disque « C » vers un dossier nommé « Sauvegarde » sur le disque « D » tout en limitant le taux d’E/S à 1 mégaoctet par seconde pendant l’opération de copie, tapez ceci :

robocopy C:\Records D:\Backup /iorate:1m