XXcopy


Tous les commutateurs
Copier des alias
Les exclusions
Lancer une copie cyclique
Cloner un disque dur
Autres astuces
Concaténer des fichiers
Gestion des noms courts
Effectuer une sauvegarde
Spécifier des emplacements multiples
Utiliser les codes d'erreur

"XXcopy" est un programme dont la version "freeware" se télécharge à partir de cette page : http://www.xxcopy.com . Ce programme est compatible avec toutes les versions 32 bits de Windows . Une fois l'archive ZIP téléchargée, décompressez-la afin de lancer ce fichier exécutable : Xxcopy.exe . Il existe une version 16 bits : le fichier exécutable est : Xxcopy16.exe. Un fichier d' aide est disponible : il vous suffit de télécharger ce fichier ZIP : Xxtb2855.zip. La première fois que vous allez exécuter ce programme, il vous sera proposé de l'installer. Suivez les instructions... La syntaxe générale est celle -ci :
Xxcopy Source [ Destination] [ Commutateurs...]
Ce programme comprend pas moins de 160 commutateurs. C'est dire que tout le monde sera servi ! Nous nous sommes contentés d'exposer les options les plus courantes.
Nous entendons par "Source" et "Destination" le point de départ et d' arrivée du processus de copie (au sens large du terme).
Un fichier marqué comme étant nouveau est un fichier qui existe dans le répertoire "Source" mais pas dans le répertoire "Destination".
Les commutateurs s'ils sont contradictoires s'excluent mutuellement. C'est une autre manière de dire que leur ordre n'a aucune conséquence dans le processus de copie.

/? : affiche un fichier d'aide.
/? : affiche les sous- menus de l'aide.
/A : identique à /ATA. Copie les fichiers dotés de l'attribut "Archive" sans changer l'attribut.
/A0 : ignore l'attribut "Archive" et ne le modifie pas.
/AA : affiche à l' écran le "bit d' archivage".
/AC : copie les fichiers spécifiés sans tenir compte de l'attribut "Archive" et supprime cet attribut une fois la copie terminée.
/AN<masque> : remplace les attributs de fichiers. Le masque est une combinaison de ces lettres : ASHR.
/AR<masque> : supprime les attributs de fichiers.
/AS<masque> : applique les attributs de fichiers spécifiés dans le masque.
/AT<masque> : sélectionne les fichiers spécifiés dans le masque d'attributs.
Vous pouvez utiliser plusieurs masques à la fois : /ATA/ATH. Dans ce cas les fichiers devront posséder l'attribut "Archive" et "Fichier caché".
Vous pouvez également spécifier plusieurs masques : /ATAH. Dans ce cas les fichiers devront posséder soit l'attribut "Archive", soit l'attribut "Fichier caché" ou les deux à la fois.
/AX<masque> : exclue les fichiers possédant les attributs spécifiés dans le masque.
Vous pouvez spécifier différents masques : /AXA/AXH. Dans ce cas seront exclus les fichiers possédant soit l'attribut "Archive", soit l'attribut "Fichier caché" ou les deux à la fois.
Vous pouvez spécifier plusieurs masques : /AXAH. Dans ce cas seront exclus les fichiers possédant à la fois l'attribut "Archive" et l'attribut "Fichier caché".
/AZ : supprime l'attribut "Archive" sans copier le fichier.
Remarque Les commutateurs /AA, /AN, /AR, /AS et /AZ switches modifient les attributs du fichier sans le modifier. Les commutateurs /A, /AT and /AX sélectionnent les fichiers en fonction de son attribut et en vue d'une opération ultérieure de copie (par exemple).
/BB : sauvegarde les fichiers marqués comme étant nouveau sans effacer les versions déjà existantes.
/BE : sauvegarde exactement les mêmes fichiers en incluant ceux qui sont marqués comme étant nouveau.
/BI : effectue seulement une sauvegarde incrémentielle (en les différenciant en fonction de la date ou de la taille).
/BN : sauvegarde seulement les fichiers marqués comme étant nouveaux.
/BO : sauvegarde seulement les fichiers les plus anciens en incluant les fichiers marqués comme étant nouveaux.
/BS : sélectionne exactement les mêmes fichiers.
/BU : effectue une sauvegarde standard (les commutateurs suivants sont appliqués : /r/i/bi/q/c/h/e/v/y).
/BX : effectue une sauvegarde des fichiers possédant des dates différentes en incluant les fichiers marqués comme étant nouveaux.
/BZ : même fonction que le commutateur /BZX.
/BZE : effectue une sauvegarde des fichiers possédant une taille identique en incluant les fichiers marqués comme étant nouveaux.
/BZS : effectue une sauvegarde des fichiers possédant une taille plus petite en incluant les fichiers marqués comme étant nouveaux.
/BZL : effectue une sauvegarde des fichiers possédant une taille plus grande en incluant les fichiers marqués comme étant nouveaux.
/BZX : effectue une sauvegarde des fichiers possédant une taille différente en incluant les fichiers marqués comme étant nouveaux.
/BACKUP : effectue une sauvegarde standard sans supprimer aucun fichier (/ CLONE sans /ZY). C'est un raccourci de cette combinaison de commutateurs : /KS/H/E/R/Q/Y/BI/ZE/oD0.
/C : continue le processus de copie même en cas d'erreur (c'est l'option par défaut).
/Co : désactive le commutateur /C.
/CA : autorise l'activation de tous les caches. Identique à /CA7 et c'est l'option par défaut.
/CB : continue si la commande "Xxcopy" s'est terminée correctement la dernière fois.
/CBQ : idem que /CB sauf que l'écran de sortie n'est pas affiché.
/CB0 : annule les commutateurs /CB et /CBQ.
/CC : commence un processus de copie cyclique en affichant à chaque fois un message d'alerte.
/CC0 : désactive le processus de copie cyclique (c'est l'option par défaut).
/CCY : continue le processus de copie cyclique en ajoutant automatiquement le répertoire de destination dans la liste d'exclusion.
/CE : idem que /CBQ/EC (utile dans un fichier Batch avec la commande @echo off).
/CK : vérifie l'espace restant avant d'entamer le processus de copie (c'est l'option par défaut).
/CK0 : désactive la fonction précédente.
/COPY : effectue le processus de copie (c'est l'option par défaut).
/CLONE : recréé l'arborescence des répertoires. C'est un raccourci de la combinaison de ces commutateurs : /KS/H/E/R/Q/Y/BI/ZY/ZE/oD0.
/CR<n> : détermine la durée avant d'entamer une seconde tentative de copie des fichiers si cette dernière échoue (n secondes , la valeur par défaut est 3).
/D : idem que /DA.
/D0 : annule tous les commutateurs relatifs aux paramètres de date (commutateurs /D...).
/D:<date> : idem que /DA:<date>.
/DA : copie les fichiers récents et les fichiers marques comme étant nouveaux.
/DA#<n> : copie les fichiers qui ont été changés il y a n jours ou après n jours.
/DA:. : copie les fichiers qui ont été changés aujourd'hui ou plus tard (c'est l'équivalent de /DA#0).
/DA:<date> : copie les fichiers qui ont été changés à la date spécifiée ou plus anciennement.
/DB : copie les fichiers les plus anciens et ceux marqués comme étant nouveaux.
/DB#<n> : copie les fichiers qui ont été changés il y a n jours ou plus anciennement.
/DB:. : copie les fichiers qui ont été changés hier ou plus récemment.
/DB:<date> : copie les fichiers qui ont été modifiés à la date spécifiée ou auparavant.
/DA:<heure > : idem que /DA:<date> à l'exception près qu'une horodation peut être ajoutée.
/DB:<heure> : idem que /DB:<date> à l'exception près qu'une horodation peut être ajoutée.
Le paramètre <heure> commence avec <date> suivi par T ou @ et hh:mm :ss, hh:mm, ou hh. Par exemple : 2002-10-25T15:25:30 ou 31-10-2002@13:00 10-31-2002@13. Le commutateur /D0:<date> ne peut pas être spécifié avec une valeur <heure>.
/Do#<n> : copie les fichiers qui ont été changés il y a n jours.
/Do:. : copie seulement les fichiers qui ont été changés aujourd'hui.
/Do:<date> : copie les fichiers qui ont été changés à la date spécifiée.
Avec les commutateurs /DA#<val>, /DB#<val> et /DO#<val>, le paramètre <val> sera traité comme étant l'indication du nombre de jours à moins qu'il soit indexé par une lettre (D, H, M, ou S). Quand <val> est donné en nombre de jours, le temps exact est Minuit.
/DA#0 : copie les fichiers modifiés aujourd'hui après Minuit.
/DO#2 : copie les fichiers modifiés pendant toute la journée d'hier.
/DSCopies : copie seulement les fichiers dont la datation est exactement la même.
/DXCopies : copie seulement des fichiers dont la datation est toujours différente.
/DA:<val> et /DB:<val> fonctionne par paire si les deux sont spécifiés. Voici quelques exemples :
/DA:2003-01-01 /DB:2003-12-31 : les fichiers créés en 2003.
/DA:2004-04-01 /DB:2004-04-30 : les fichiers créés en avril 2004
/DB:2003-03-31 /DA:2003-05-01 : exclue les fichiers créés en avril.
Une date partielle peut être acceptée pour les commutateurs /DA:, /DB: et /DO :.
/DO:2000-2 est l'équivalent de : /DA:2000-2-1 /DB:2000-2-29.
/DA, /DB, /DX , /DS, /Do, /DA:<date> et /DB:<date> s'excluent mutuellement.
/DA /DB et /DD, si la date n'est pas indiquée, sont identiques à /BN et /Bo.
/DA, /DB, /DX et /DS compare la source et la destination en utilisant à la fois la date et l'heure tandis que /DA:<date> et /DA#<n> utilise seulement la date.
/DEBUG : montre les paramètres de la commande et vous demande de démarrer la commande.
/DEBUGX : montre les paramètres de la commande et quitte le programme.
/DL<n> : limite le processus de copie à la profondeur de l'arborescence spécifiée par n niveaux.
/DL0 : annule la limite fixée par le commutateur /DL. Ne fonctionne qu'avec le commutateur /S ou /E.
/E : copie les répertoires et les sous-répertoires en incluant les répertoires vides.
/EC : affiche le processus complet de la commande.
/ED : conserve le répertoire même si celui-ci devient vide.
/ED0 : supprime les répertoires vides (c'est l'option par défaut).
/ED<n> : conserve n niveaux de l'arborescence des répertoires vides.
Les commutateurs /EDxx n'ont d'effet que dans les opérations de suppression des répertoires ou des fichiers (/Z, /RC, /RS, /RD, /RX, et /CLONE).
/ER : émule le code de sortie de la commande "Xcopy".
/F : affiche la source complète des fichiers sources et de destinations pendant le processus de copie.
/FA : utilise la date de dernier accès pour effectuer une comparaison de fichiers.
/FC : utilise la date de création pour effectuer une comparaison de fichiers.
/FT : convertit toutes les valeurs de temps compatibles avec le système FAT.
/FW : utilise la date de dernière modification pour effectuer une comparaison de fichiers.
/H : copie les fichiers cachés et/ou les fichiers systèmes.
/H0 : exclue les fichiers cachés et/ou les fichiers système (c'est l'option par défaut).
/Ho : copie seulement les fichiers cachés et/ou les fichiers systèmes.
/HELP : affiche les commutateurs en mode détaillé.
/HELP /X : affiche une aide partielle.
/HELPA : affiche l'aide dans l'ordre alphabétique.
/HELPE : affiche les codes de sortie.
/HOSTS : affiche les noms des ordinateurs hôtes accessibles par "Xxcopy".
/I : si la destination n'existe pas et que la copie concerne plus d'un fichier créé le répertoire de destination sans afficher de demande de confirmation.
/IA : continue si la destination n'existe pas (et s'interrompt si la destination existe).
/IA<item> : continue si l'item spécifié n'existe pas (cela peut être un fichier ou un répertoire).
/IP : continue si la destination existe (et s'interrompt si la destination n'existe pas).
/IP<item> : continue si l'item spécifié existe (cela peut être un fichier ou un répertoire).
/ILD<label> : continue si le nom du volume de destination concorde.
/ILS<label> : continue si le nom du volume source concorde.
/INSTALL : installe le programme "Xxcopy" sur votre ordinateur.
/INSTALL:<dir> : installe le programme "Xxcopy" dans le répertoire utilisateur spécifié.
/K : conserve les attributs de la source (y compris l'attribut "Lecture seule").(idem que /KS).
/K0 : conserve les attributs de la source (y compris l'attribut "Lecture seule"). C'est l'option par défaut.
/KD : conserve les attributs de destination (en réécrivant les fichiers).
/KN : rétablit les attributs de la destination.
/KS : garde les attributs de la source y compris l'attribut "Lecture seule".
/L : idem que /LLZ qui liste les opérations à effectuer sans démarrer le processus de copie proprement dit.
/L<items> : paramètre le format de la liste des opération à effectuer. <items> est une chaîne de caractères pouvant être la combinaison de :
D : date des fichiers.
T : heure des fichiers.
Z : taille des fichiers.
A(rchive),H(idden),S( system),R(eadonly) : attribut des fichiers.
S : noms des fichiers courts (8.3).
L : noms des fichiers longs.
/LICENSE : affiche le statut de votre licence.
/LTREE : affiche l'arborescence des répertoires sans effectuer le processus de copie ou de création des répertoires.
/M : copie seulement les fichiers possédant l'attribut "Archive" puis désactive cet attribut.
/MD<dir> : créé les répertoires avant d'exécuter les autres commandes.
/N : utilise les noms de fichiers courts (au format 8.3).
Il y a de nombreuses autres options assurant la compatibilité entre différents systèmes d'exploitation.
/NP : utilise les noms de fichiers exacts.
/N0 : désactive l'utilisation des commutateurs /N et /NP (c'est l'option par défaut quand l'utilisation des longs noms de fichiers est possible).
/NC0 : désactive les commutateurs /NCL, /NCU ou /NCX.
/NCL : utilise les minuscules quand un nouveau fichier est créé.
/NCU : utilise uniquement les majuscules quand un nouveau fichier est créé.
/NCX : utilise les majuscules quand un nom de fichier court est créé.
/ND : utilise la méthode Ms-Dos dans le traitement des caractères génériques pour les noms de fichiers.
/NW : utilise la nouvelle méthode (Windows 32 bits) dans le traitement des caractères génériques pour les noms de fichiers.
/NL : renomme les noms longs des fichiers (afin de concorder avec les fichiers sources) sans effectuer d'opération de copie.
/NS : renomme les noms courts des fichiers (afin de concorder avec les fichiers sources) sans effectuer d'opération de copie.
/NX : garde le nom de fichier court quand le fichier est copié.
/NX0 : désactive le paramètre précédent.
Astuce : Si la source et la destination sont sur le même disque local, le commutateur /NX est utilisé par défaut. Si la source ou la destination sont spécifiées par un chemin UNC c'est le commutateur /NX0 qui fait office de paramètre par défaut.
/P : demande une confirmation avant de créer chaque fichier de destination.
/PC : demande une confirmation avant de créer chaque nouveau fichier.
/PC0 : supprime le message d'avertissement avant la création d'un fichier.
/PD : demande une confirmation avant d'entamer le processus de copie dans chaque arborescence spécifiée.
/PD0 : supprime le message d'avertissement avant la suppression d'un répertoire.
/Po : demande une confirmation avant la suppression d'un fichier (c'est l'option par défaut).
/Po0 : supprime le message d'avertissement avant la suppression d'un fichier.
/PZ : demande une confirmation du répertoire de destination.
/PZ0 : supprime le message de confirmation du répertoire de destination.
/Q : idem que /Q1. N'affiche pas les fichiers qui n'ont pas été traités.
/Q0 : affiche tous les noms de fichiers.
/Q1 : idem que /Q.
/Q2 : n'affiche pas les répertoires qui n'ont pas été traités.
/Q3 : n'affiche ni les noms des fichiers et des répertoires pendant le processus de copie.
/QF : quitte le processus de copie quand le quota de fichiers à copier a été atteint.
/R : autorise l'écrasement ou la suppression des fichiers possédant l'attribut "Lecture seule".
/R0 : annule l'écrasement ou la suppression des fichiers possédant l'attribut "Lecture seule".
/RC : supprime les fichiers source après une opération de copie achevée avec succès.
/RCP : affiche un message de confirmation vous demander de supprimer les fichiers source après que le processus de copie se soit déroulé correctement (c'est l'option par défaut).
/RCY : supprime le message de confirmation précédent.
/RD : supprime les fichiers de destination qui vont être écrasés sans entamer le processus de copie.
/RMDIR : supprime un répertoire. idem que /RS/S/H/R/PD0/ED0.
/RS : supprime les fichiers sources sans entamer le processus de copie.
/RX : supprime les fichiers de destination qui ne sont pas présents dans la source et ce sans entamer le processus de copie.
/S : copie les répertoires et les sous-répertoires à l'exception de ceux qui sont vides.
/SC : idem que /SC3.
/SC0 : annule les commutateurs /SC ou /SF (aucune information de sécurité n'est copiée).
/SC1 : copie uniquement le masque de permissions quand un fichier est traité.
/SC2 : copie uniquement les informations d'audit quand un fichier est traité.
/SC3 : copie à la fois le masque de permissions et les informations d'audit.
/SF : idem que /SF3.
/SF0 : annule les commutateurs /SC ou /SF.
/SF1 : marque le masque des permissions sans entamer le processus de copie.
/SF2 : marque les informations d'audit sans entamer le processus de copie.
/SF3 : marque le masque des permissions et les informations d'audit sans entamer le processus de copie.
/SG : idem que /SGN.
/SGF : rassemble les fichiers dans la première arborescence des répertoires sans effectuer de tri.
/SGN : rassemble les fichiers dans la première arborescence des répertoires en les triant à partir du plus récent.
/SGo : rassemble les fichiers dans la première arborescence des répertoires en les triant à partir du plus ancien.
/SP : étend le processus de copie à plusieurs destinations.
/SZ:<n>-<m> : copie un fichier dont la taille se situe entre n bytes et m bytes.
/SZ:-<n> : copie un fichier dont la taille est égale ou plus grande que n bytes.
/SZ:-<m> : copie un fichier dont la taille est égale ou plus petite que n bytes.
/SZ:<n> : copie un fichier dont la taille correspond exactement à n bytes.
/SZ!<n>-<m> : copie un fichier dont la taille n'est pas comprise entre n bytes et m bytes.
/SZ!<n>- : copie un fichier dont la taille n'est pas égale ou supérieure à n bytes.
/SZ!-<m> : copie un fichier dont la taille n'est pas égale ou inférieure à m bytes.
/SZ!<n> : copie un fichier dont la taille n'est pas égale à n bytes.
/SZ:- : désactive la sélection de taille (/SZ!- est également possible).
Remarque : Il vous est possible de vous servir des suffixes suivants : K, M ou G en mesure métrique ((x1000), mega (x1000000), ou giga (x1000000000)).
/T : créé l'arborescence des répertoire sans entamer le processus de copie.
/TTA : modifie la datation de la source en fonction de la date de dernière modification.
/TTA0 : conserve la datation de la source (c'est l'option par défaut).
/TCA : copie la date de dernière modification de la source vers la destination.
/TCA0 : utilise la date et l'heure actuelle pour la destination (c'est l'option par défaut).
/TCC : copie la datation de l'heure de création de la source vers la destination.
/TCC0 : copie la date et l'heure pour la date de création des fichiers de destination (c'est l'option par défaut).
/TCW : copie la date de dernier accès des fichiers source vers la destination (c'est l'option par défaut).
/TCW0 : utilise la date et l'heure courante pour renseigner la date de dernier accès des fichiers de destination.
/TD+<n> : ajoute une valeur à la datation des fichiers de destination.
/TD-<n> : soustrait une valeur aux fichiers de destination afin de pouvoir les comparer.
/TS+<n> : ajoute une valeur à la datation des fichiers source et de destination.
/TS-<n> : soustrait une valeur à la datation des fichiers source et de destination.
<n> est traitée en nombre d'heures à moins que soit utilisé un de ces suffixes : D, H, M, ou S (respectivement, jour, heure, minute ou seconde).
/TR<n> : tronque le nouveau fichier de n bytes.
/U : met à jour les fichiers qui existe déjà dans la destination.
/UNINSTALL : procède à la désinstallation de "Xxcopy".
/V : procède à une vérification après le processus de copie (idem que /V1).
/V0 : désactive toute vérification.
/V1 : procède à une vérification rapide.
/V2 : procède à une vérification minutieuse.
/W : idem que /WS.
/WD : affiche un message d'avertissement si un répertoire source n'existe pas (c'est l'option par défaut).
/WD0 : supprime le message d'avertissement précédent.
/WE : vous demande d'appuyer sur n'importe quelle touche une fois le processus de copie achevée.
/WE<n> : attend la fin du processus pendant une durée spécifiée en n secondes.
/WS : vous demande d'appuyer sur n'importe quelle touche afin de démarrer le processus de copie.
/WS<n> : attend le début de l'opération pendant une durée de temps spécifiée en n secondes.
/X<xspec> : ajoute une exclusion.
<xspec> : spécifie le type d'exclusion pour /X. Le contenu du fichier est précisé par /EX.
Le fichier texte peut contenir un nombre arbitraire d'exclusions séparées par des espaces, des tabulations ou des lignes. Les exclusions contenant des espaces doivent être encadrées par des guillemets. La syntaxe est la suivante :
Afin d'exclure des fichiers : [ dir_spec\ ] [ *\ ] [ ftemplate ]
Afin d'exclure des répertoires : [ dir_spec\ ] [ *\ ] [ dtemplate ]
/Y : écrase les fichiers existants sans demande de confirmation.
/-Y : affiche une demande de confirmation avant d'écraser les fichiers existants.
/YY : supprime sans exception tous les messages d'avertissement ou de confirmation (utile dans l'utilisation d'un fichier Batch).
/Z : supprime tous les fichiers supplémentaires dans la destination.
/ZY : idem que /Z sauf qu'aucune demande de confirmation ne sera envoyée.
/ZS : désactive l'affichage des statistiques.
/$xxxx$ : les macros prédéfinies peuvent être utilisées avec tous les commutateurs de "Xxcopy".
Quelques exemples pour la date et l'heure courante suivante : Jui 27, 2004 13:15:30.
/$DATE$ : équivalent à /$MMDD$ -- "0727".
/$TIME$ : équivalent à /$HHNN$ -- "1315".
/$YYMMDD$ : "040727".
/$YYYY-MM$ : "2004-07".
/$HHNNSS$ : "131530".
/$MON-DD$ : "JUI-27".
/$HOST$ : affiche le nom de l'ordinateur.

- Utiliser Xxcopy afin de copier des alias :

Un exemple va nous permettre d'illustrer le problème... En mode Ms-Dos saisissez ces commandes :
md Test
copy autoexec.bat test\LongNomA.bat
copy autoexec.bat test\LongNomB.bat
dir test
Deux fichiers ont donc été copiés nommés respectivement longno~1.bat et longno~2.bat. Saisissez alors ces commandes :
md sauvegarde
copy test\LongNomB.bat \sauvegarde
copy test\LongNomA.bat \sauvegarde
dir sauvegarde
Les noms de fichiers sont les mêmes sauf que la dénomination longno~1.bat a était cette fois-ci affectée au premier fichier copié : LongNomB.bat.
Saisissez alors ces commandes :
md nouveau
xxcopy \test\LongnomB.bat \nouveau
xxcopy \test\LongnomA.bat \nouveau
dir nouveau
Vous pouvez cette fois-ci constater que les alias des fichiers ont été correctement affectés.

- Utiliser les exclusions avec Xxcopy :

Voici quelques exemples des commutateurs possibles :
/Xc:\MonRépertoire\MonFichier.txt : spécifie juste un fichier.
/X*.tmp : tous les fichiers terminant par ".tmp".
/Xabc* : tous les fichiers commençant par "abc".
/XMonRépertoire\ : le répertoire entier, "MonRépertoire" situé dans la "source".
/XMonRépertoire\*\* : idem que /XMonRépertoire\ qui est un raccourci.
/XMonRépertoire\*\*.tmp : à l'intérieur de "MonRépertoire", tous les fichiers se terminant par "*.tmp".
/X*\cache\ : niveaux multiples des sous-répertoires.

- Utiliser le processus de copie cyclique avec Xxcopy :

Essayez de lancer cette commande :
xcopy c:\source c:\source\destination /s
Un message vous avertira qu'il n'est pas possible de réaliser une copie cyclique.
En d'autres termes, il n'est pas possible de copier les fichiers du répertoire Temp dans ce même répertoire (cette option est induite par l'emploi du commutateur /s qui commande d'effectuer le processus de copie dans tous les répertoires et sous-répertoires du lecteur C:).
Évidemment ce message est là pour vous signifier que vous risquez d'entrer dans une boucle sans fin. Une utilisation intéressante de "Xxcopy" consiste à effectuer une copie cyclique en se servant du commutateur /CCY :
xxcopy C:\source c:\source\destination /CCY /S
Cette commande collectera tous les fichiers et les placera dans un répertoire nommé Destination.
Si vous souhaitez que les fichiers .doc soient collectés dans votre seul répertoire de destination saisissez cette commande :
xxcopy c:\*.doc c:\sauvegarde\ /CCY /SX
Si vous souhaitez recréer une arborescence dans le répertoire spécifié sans que les fichiers contenus soient copiés, saisissez :
xxcopy "c:\documents and settings" c:\sauvegarde\ /CCY /T
Dans cet exemple, l'ensemble des sous-répertoires contenus dans \Documents and settings seront recréés dans le répertoire Sauvegarde.

- Cloner un disque dur avec Xxcopy :

Le disque dur de destination doit être partitionné et soigneusement formaté. Il doit être placé en esclave sur la même nappe IDE que votre disque principal (celui qui sera cloné). La commande doit être lancée dans un environnement 32 bits (c'est à dire à partir d'une fenêtre Ms-Dos). En imaginant que C: et D: représente respectivement votre disque source et de destination, saisissez cette commande :
xxcopy c:\ d:\ /CLONE
C'est un raccourci de cette commande : xxcopy C:\ D:\ /ks/h/e/r/q/y/bi/zy/ze
Une fois le processus de clonage terminé, il ne vous reste plus qu'à effectuer ces opérations :
* Rendre la partition active.
* Écrire un nouveau secteur d'amorçage.

- Quelques exemples d'utilisation de xxcopy :
Dans ces exemples le répertoire source sera nommé "Source" et le répertoire de destination "Destination".
Copiez les fichiers créés au 26 Juillet 2004 ou après :
xxcopy c:\source\ c:\destination\ /DA:2004-07-26
Copiez les fichiers créés aujourd'hui :
xxcopy c:\source\ c:\destination\ /Do:. /S
Copiez les fichiers créés aujourd'hui en recherchant dans l'ensemble du lecteur C: :
xxcopy c:\ c:\destination\ /Do:. /S /CCY
Sélectionnez les fichiers qui ont été modifiés aujourd'hui puis hier :
xxcopy c:\source\ d:\destination\ /DA#0
xxcopy c:\source\ d:\destination\ /DB#.
Sélectionnez les fichiers créés il y a 30 minutes :
xxcopy c:\source\ c:\destination\ /S /DA#30M
Sélectionnez les fichiers qui ont entre 15 et 30 jours :
xxcopy c:\source\ c:\destination\ /DB#15 /DA#30
Nettoyer le répertoire Temp :
xxcopy %TEMP%\ /RS /DB#1 /R /H /PD0 /Y /ED
Effectuer une sauvegarde incrémentielle :
xxcopy c:\source\*.* c:\destination\ /BI /S
Supprimer les fichiers redondants dans le répertoire source (existant déjà dans le répertoire de destination) :
xxcopy c:\source\*.* c:\destination\ /RS /BS /S
Effectuer une sauvegarde complète avec xxcopy :
xxcopy \source\ \destination\ /CLONE
Supprimer des fichiers à l'exception de certains :
xxcopy \source /RMDIR /DA:2004-07-01 /Y /X*.doc
Cette commande supprime les fichiers créés à partir du 1er juillet 2004 à l'exception des fichiers .doc.
Créez des répertoires portant la date et l'heure courante :
xxcopy \source \destination\/$YYYY-MM-DD$\ /EC /W

- Concaténer des fichiers avec xxcopy :
Nous reprenons l'exemple de deux répertoires nommés Source et Destination.
1) Dans le répertoire Source créez plusieurs fichiers .doc numérotés
2) Dans le répertoire Source, créez un sous-répertoire nommé Test et copiez dedans les mêmes fichiers.
3) Saisissez cette commande : xxcopy \source\*.doc \destination /SR
Vous remarquerez que les fichiers ont été copiés avec accolés sur la droite du nom le nom du répertoire dans lequel ils sont placés.
Ces autres commutateurs peuvent être utilisés :
/SL : rassemble les fichiers dans le même répertoire en accolant le nom du répertoire d'origine à gauche du nom du fichier.
/SX : rassemble les fichiers dans le même répertoire en accolant le nom du répertoire d'origine au milieu du nom du fichier.
Il vous est possible de recréer les arborescences qui ont été "aplaties" en vous servant de ces commutateurs :
/SLR : reconstruit l'arborescence démontée par le commutateur /SL.
/SXR : reconstruit l'arborescence démontée par le commutateur /SX.
/SRR : reconstruit l'arborescence démontée par le commutateur /SR.
En fonction de l'exemple précédent, saisissez ces commandes :
del \source\*.doc /s
xxcopy \destination\*.doc \source /SRR

- Gérer les noms de fichiers courts avec Xxcopy :

Nous avons vu précédemment que la gestion des fichiers sous Windows peut réserver quelques surprises. dans un répertoire nommé Source créez un fichier nommé NomLongfichier4.doc. Saisissez cette commande :
xcopy \source\*1.doc \destination /n
Un fichier nommé LONGNO~1.doc sera créé dans le répertoire Destination. Mais ce n'est pas forcément le résultat que nous voulions ! "Xxcopy" vous permet d'affiner le processus de copie. Vous avez le choix entre ces quatre séries de commutateurs :
/n0 /np0 : cherche à la fois le nom long et le nom court du fichier à copier et copie le nom de fichier long. C'est l'option par défaut.
/n /np0 : cherche à la fois le nom long et le nom court du fichier à copier et copie le nom de fichier court.
/n0 /np : ne cherche que le nom de fichier long et copie le nom de fichier long.
/n /np : ne cherche que le nom de fichier court et copie le nom de fichier court.
Si vous avez dans le répertoire de destination ces deux fichiers : LONGNO~1.DOC et LongNomFichier4.doc, vous pouvez comparer le résultat de ces deux commandes :
xxcopy \destination\*~* /lsl /np
xxcopy \destination\*~* /lsl
Seule la seconde commande prend en compte les deux fichiers à copier.

- Effectuer une sauvegarde en utilisant plusieurs supports :

Un exemple de script peut être celui-ci :

xxcopy C:\source /aa/h/s/q
:boucle
@echo Insérez une disquette vierge et appuyez sur n'importe quelle touche
@pause
xxcopy C:\source A:\ /m/h/r/y/ks/zy/s/q
goto boucle

Les commutateurs sont les suivants :
/aa : marque les fichiers à copier comme possédant l'attribut "Archive".
/m : copie les fichiers marqués comme possédant l'attribut "Archive" puis supprime cet attribut.

- Spécifier des emplacements multiples avec Xxcopy :
Vous pouvez exécuter cette commande :
xxcopy c:\windows\sys*\*.log c:\destination\/S
Les fichiers seront cherchés dans C:\Windows\System et \Windows\System32.
Afin d'effectuer une recherche à l'intérieur de tous les sous-répertoires il est courant d'utiliser le commutateur /s. Si vous utilisez "Xxcopy", il existe une autre manière beaucoup plus pratique :
xxcopy c:\source\*\*.doc \destination\
Cette commande recherche tous les fichiers .doc dans tous les sous répertoires du chemin indiqué : C:\Source\. L'option \*\ précise que ce qui est situé à droite peut se trouver à n'importe quel niveau de l'arborescence. Dans ce cas, la recherche porte sur 0 ou plusieurs niveaux de l'arborescence spécifiée.
Imaginons l'exemple suivant :
1) Dans le répertoire Source créez un répertoire nommé Dossier1.
2) Dans Dossier 1 créez un répertoire nommé Dossier2 et ainsi de suite jusqu'à créer un répertoire nommé Dossier5.
3) Dans chaque répertoire créez un nouveau fichier .doc numérotés en fonction de leur dossier "parent". Par exemple : Document1.doc pour le Dossier1.
Saisissez cette commande :
xxcopy c:\source\*\dossier4\*.doc \destination\
Vous copierez l'arborescence de vos répertoires et uniquement le document Word qui était placé dans le répertoire nommé Dossier4.
Il y a d'autres manières. Par exemple :
xxcopy C:\source\?*\*.doc c:\destination\
La recherche portera exactement sur le premier niveau de l'arborescence indiquée.
Un exemple de script utilisant Xxcopy
Dans un nouveau fichier nommé Test.bat, copiez ce contenu :
xxcopy /lzdl/s/h %1 %2 %3 %4 %5 %6 %7 %8 %9
Afin de lister tous les fichiers créés il y a moins de 30 minutes, saisissez :
test \ /da#30m
Afin de lister les fichiers communs aux deux répertoires, saisissez :
test \source\ \destination\ /u

- Utiliser les codes d'erreur dans Xxcopy :
Voici un tableau récapitulatif des codes d'erreur les plus courants :

Code d'erreur - Signification
0 Opération réussie
33 Processus interrompu par l'utilisateur
34 Paramètre de commande invalide
35 Version de Dos incompatible
36 Le répertoire courant n'existe pas
38 Impossible de créer le répertoire de destination
40 Une erreur fatale est survenue
41 Source invalide
42 Destination invalide
43 Les items d'exclusion spécifiés sont invalides
44 Le disque est plein
45 Erreur de violation d'accès
48 Impossible d'écraser un fichier en ""Lecture seule""
100 Aucun fichier n'a été trouvé
101-254 Erreurs trouvées pendant la copie des fichiers
255 Erreurs trouvées dans plus de 254 fichiers

Une fois que vous savez cela il est très facile d'écrire un fichier Batch conditionnant l'exécution d'une commande au code de sortie renvoyé par la commande précédente. Par exemple :

@echo off
xxcopy c:\document\ c:\sauvegarde\ /s /y
if errorlevel 100 goto Avertissement
if errorlevel 0 goto Suite1
:Suite1
xxcopy c:\archives\ c:\sauvegarde\ /s /y
if errorlevel 100 goto Avertissement
if errorlevel 0 goto Fin
:Avertissement
echo Fichiers introuvables...
:Fin

Nous nous contentons simplement de spécifier que si aucun fichier n'est présent dans le répertoire source (code d'erreur 100) alors affiche un message d'erreur. Si la copie se déroule correctement (code d'erreur 0), rendez-vous à l'étiquette "Suite1" puis, lors de la seconde étape du script, à l'étiquette "Fin".









BlogBookmarkNewsletter