Dernière mise
à jour : 07/04/2005
"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".
|
|