Le simple copier, coller de Microsoft peut ne pas être suffisant pour un administrateur système. Il existe un outil Microsoft intégré dans le Ressource Kit Tools de Windows Server 2003 appelé robocopy qui vous permettra de contrôler la copie de vos données comme vous le souhaitez.
Il existe deux versions de robocopy, la version graphique GUI et la version en ligne de commande intégré directement dans les RKT Windows Server 2003. Les options restent dans les deux cas exactement les mêmes.
Pour télécharger :
Robocopy GUI 3.1 (avec interface graphique) : ICI
Windows Server 2003 Ressource Kit Tools: ICI
Robocopy GUI
Une fois Robocopy GUI 3.1 téléchargé et installé, exécutez le raccourci qui doit se trouver sur le bureau « Microsoft Robocopy GUI ».
L’utilisation ainsi que l’interface graphique est très intuitif, il vous suffit juste de connaitre les différentes options que vous pouvez retrouver ci-dessous via la partie « Robocopy en ligne de commande »
Robocopy en ligne de commande
Syntaxe :
Robocopy <Source><Destination>[<File> […]] [<Options>]
Paramètres
< 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. Vous pouvez utiliser des caractères génériques (* ou ?), si vous le souhaitez. Si le paramètre de fichier n’est pas spécifié, *. * est utilisée comme valeur par défaut. < Options> Spécifie les options à utiliser avec la commande robocopy.
Options
/s Sous-répertoires de copies. Notez que cette option exclut les répertoires vides. /e Sous-répertoires de copies. Notez que cette option inclut les répertoires vides /Lev : <N> Copie uniquement les n premiers niveaux de l’arborescence du répertoire source. /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. /copie : <CopyFlags> Spécifie les propriétés du fichier à copier. Les valeurs valides pour cette option sont les suivantes : – Données D – A des attributs – Horodateurs T – S NTFS contrôle liste accès (ACL) – Informations relatives au propriétaire o – Informations d’audit u – La valeur par défaut pour indicateurscopie est DAT (données, les attributs et les horodateurs). / DCOPY: t Copies répertoire horodateurs. / s Copie les fichiers avec sécurité (équivaut à/Copy : DAT). /COPYALL Copie toutes les informations de fichier (équivalentes à /copy:DATSOU). /NoCopy Ne copie aucune information de fichier (utile avec/purge). /secfix Ne copie aucune information de fichier (utile avec/purge). /TIMFIX Heures des fichiers correctifs sur tous les fichiers, même ignoré ceux. / Purge Supprime les fichiers de destination et les répertoires qui n’existent plus dans la source. /MIR Met en miroir une arborescence de répertoires (équivaut à /eplus/purgeplus/purge). /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. /créer Crée une arborescence de répertoires et fichiers de longueur nulle uniquement. /fat Crée des fichiers de destination à l’aide de caractères 8.3 nom FAT uniquement. /256 Désactive la prise en charge des chemins d’accès très longs (plus de 256 caractères). /LUN : <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 dans m minutes si des modifications sont détectées. / RH : hhmm Spécifie le temps d’exécution lorsque les nouvelles copies peuvent être lancées. /PF Vérifications exécutent sur une base par fichier (pas par-pass). /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 de 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
Options de sélection de fichier
/a Copie uniquement les fichiers dont l’attribut Archive est défini. /m Copie uniquement les fichiers dont l’attribut Archive est défini et réinitialise l’attribut Archive. /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éfinies. /xf <FileName> […] Exclut les fichiers qui correspondent aux chemins d’accès ou les noms spécifiés. Notez que nom de fichier peut inclure des caractères génériques (* et ?). /XD <Directory> […] 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 les fichiers et répertoires inutiles. /XL Exclut les répertoires et fichiers « là ». /is Inclut les mêmes fichiers. /IT Inclut les fichiers « modifié ». /max : <N> Spécifie la taille maximale de fichier (pour exclure des fichiers supérieure à n octets). /min: <N> Spécifie la taille de fichier minimale (pour exclure des fichiers de taille inférieure à n octets). /MaxAge : <N> Spécifie l’âge maximal de fichier (pour exclure les fichiers plus anciens que n jours ou date). /MINAGE : <N> Spécifie l’âge minimal de fichiers (exclure les fichiers plus récents que n jours ou date). /MAXLAD : <N> Spécifie la date de dernier accès (exclut les fichiers inutilisés depuis N) au maximum. /MINLAD : <N> Spécifie la date de dernier accès (exclut les fichiers utilisés depuis N) au minimum 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 Suppose que les fichiers FAT times (précision de deux secondes). /DST Compense les différences d’heure une heure d’heure d’été. /XJD Compense les différences d’heure une heure d’heure d’été. /XJF Exclut les points de jonction pour les fichiers.
Options de nouvel essai
/r: <N> Spécifie le nombre de tentatives de copies ayant échouées. La valeur par défaut de n est 1 000 000 (un million de nouvelles tentatives). /w: <N> Spécifie le délai d’attente entre les tentatives, en secondes. La valeur par défaut de n est de 30 (30 secondes de délai d’attente). /reg Enregistre les valeurs spécifiées dans les options/r et /w comme paramètres par défaut dans le Registre. /TBD Spécifie que le système attendra les noms de partage être défini (retry erreur 67).
Options de journalisation
/l Spécifie que les fichiers doivent être mis en vente uniquement (et non copiées, supprimées, 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. /NC Spécifie que les classes de fichier ne doivent ne pas être connectées. /NFL Spécifie que les noms de fichiers ne doivent ne pas être enregistrés. /ndl Spécifie que les noms de répertoire ne doivent ne 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 estimée d’arrivée (ETA) les 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 en tant que 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 job summary. / job : <JobName> Spécifie que les paramètres doivent être dérivées à partir du fichier de travail nommé. /Save: <JobName> Spécifie que les paramètres doivent être enregistrées dans le fichier nommé. /Quit Quitte après traitement de ligne de commande (pour afficher les paramètres). /nosd: /NODD Indique qu’aucun répertoire de destination n’est spécifié. /If Inclut les fichiers spécifiés.
Merci pour ce tuto !
x406bf
Oui j’ai essayé avec « D:\ », mais il ne se passe rien.
Je vais regarder pour voir si il y a des fichiers cachés ou autre chose qui bloque…
Parfois il est marqué dans la console « Accès refusé », alors je vais piocher de ce côté.
Merci quand même ,
Bonjour,
Je reviens vers vous car je bute sur autre chose.
Je voudrais sauvegarder une partition D:\ sur un disque externe J:\
J’ai fait cela :
Set oShell=WScript.CreateObject(« WScript.Shell »)
Set objFSO = Wscript.CreateObject(« Scripting.FileSystemObject »)
strSource = Chr(34) & « D: » & Chr(34)
strTarget = Chr(34) & « J:\Dossier D » & Chr(34)
strParms = » /MIR » & Chr(34)
oShell.Run « robocopy » & strSource & » » & strTarget & strParms
Mais ça ne fonctionne pas, peut être que pour un disque il faut faire différemment ?
Quand je met un dossier, par ex D:\Dossier cela fonctionne, mais avec D: seul, ça ne va pas…
Qu’en pensez vous, je tourne en rond
Merci d’avance
Bonjour,
Essayez avec « D:\ ».
Jérémy
En fait j’ai exclu de la source un fichier $RECYCLE.BIN qui bloquait la copie, en mettant :
strParms = » /MIR /XD D:\$RECYCLE.BIN » & Chr(34)
Tout se copie (en regardant les propriétés dur disque de sauvegarde J:\), mais ils sont invisibles quand je veux les voir avec l’explorateur, ce qui est évidement très embêtant…
Besoin d’aide….
Avez-vous une idée SVP ?
Merci
Merci beaucoup,
La première proposition ne fonctionne pas, mais la deuxième proposition avec des variables fonctionne à merveille.
Encore merci pour votre soutien
Bonjour,
Je cherche toujours à approfondir ma compréhension de script en utilisant VBScript, et j’essais d’inclure RoboCopy dedans pour sauvegarder le contenu de dossiers et sous dossiers dans une autre partition de mon disque.
Mais je n’arrive pas à inclure des noms de dossiers contenant des espaces, à cause bien sûr d’un problème de syntaxe pour gérer les espaces…
Je bute sur :
objCommand = « Robocopy C:\Users\Gérard\Dropbox D:\Mes Documents\Ma DropBox /MIR »
Il y a peut être une option supplémentaire à mettre en plus de /MIR ou tout simplement un problème de syntaxe, j’ai essayé différentes options, mais là je suis bloqué…
Qu’en pensez vous ?
Merci d’avance et merci aussi pour votre TUTO
Bonjour,
Avez-vous essayé : objCommand = « Robocopy C:\Users\Gérard\Dropbox » & » D:\Mes Documents\Ma DropBox /MIR » ?
Sinon, vous pouvez essayer avec des variables :
Set oShell=WScript.CreateObject(« WScript.Shell »)
‘(Do you even need FSO?) Set objFSO = Wscript.CreateObject(« Scripting.FileSystemObject »)
strSource = Chr(34) & « C:\Users\Gérard\Dropbox » & Chr(34)
strTarget = Chr(34) & « D:\Mes Documents\Ma DropBox » & Chr(34)
strParms = » /MIR » & Chr(34)
oShell.Run « robocopy » & strSource & » » & strTarget & strParms
Jérémy
Bonjour,
Je suis en train de monter un robocopy GUI pour un client pour pouvoir conserver son arborescence et ses droits.
Le problème est que l’arborescence de départ compte 9 sous-dossiers et robocopy n’en copie que deux.
Auriez vous une idée…
D’avance merci
Bonjour, Avez-vous les droits NTFS sur l’ensemble des dossiers ?
Jérémy
Oui tout à fait,
Il semble que ce ne soit qu’une affaire d’impatience…
Les dossiers se crées tranquillement.
Merci tout de même pour la réponse.
Bonjour,
Peut on programmer une date et une heure pour le lancement de copy?
Cordialement.
Bonjour, Vous pouvez utiliser les tâches planifiées de Microsoft pour appeler le script (.bat) Robocopy.
Jérémy