Obligatoire. Spécifie l'emplacement et le nom des
fichiers à copier. Ce paramètre doit obligatoirement inclure
un lecteur ou un chemin d'accès.
Destination
Spécifie la destination des fichiers à copier. Ce
paramètre peut inclure une lettre de lecteur et le signe
deux-points (:), un nom de répertoire, un nom de fichier ou
toute combinaison de ces éléments.
/w
Affiche le message suivant et attend une réponse avant
de commencer à copier les fichiers :
Appuyez sur une touche pour lancer la copie des
fichiers.
/p
Demande à l'utilisateur de confirmer la création de
chaque fichier de destination.
/c
Ne tient pas compte des erreurs.
/v
Vérifie chaque fichier au fur et à mesure de son
écriture dans le fichier de destination afin de garantir que
les fichiers de destination sont identiques aux fichiers
sources.
/q
Supprime l'affichage des messages de la commande
xcopy .
/f
Affiche les noms des fichiers sources et de destination
pendant la copie.
/l
Affiche la liste des fichiers à copier.
/g
Crée des fichiers de destination décryptés.
/d[:mm-jj-aaaa]
Copie uniquement les fichiers sources qui ont été
modifiés à la date précisée ou après cette date. Si vous
n'utilisez pas le paramètre mm-jj-aaaa, la commande
xcopy copie tous les fichiers Source qui sont
plus récents que les fichiers de Destination
existants. Cette option de ligne de commandes permet de ne
mettre à jour que les fichiers qui ont été modifiés.
/u
Copie uniquement les fichiers sources qui existent dans
la destination.
/i
Si le paramètre Source correspond à un répertoire
ou qu'il contient des caractères génériques et que le
paramètre Destination n'est pas spécifié, la commande
xcopy suppose que le nom du répertoire de destination
est destination et un nouveau répertoire est donc
créé. Tous les fichiers sont ensuite copiés dans ce nouveau
répertoire. Par défaut, la commande xcopy demande à
l'utilisateur si la destination est un fichier ou un
répertoire.
/s
À moins qu'ils ne soient vides, copie les répertoires et
les sous-répertoires. En l'absence de cette option de ligne
de commandes, xcopy travaille dans un seul
répertoire.
/e
Copie tous les sous-répertoires, même s'ils sont vides.
Utilisez /e en combinaison avec les options de ligne
de commandes /s et /t.
/t
Copie uniquement la structure (l'arborescence) du
sous-répertoire et non les fichiers. Pour copier des
répertoires vides, vous devez inclure l'option de ligne de
commandes /e.
/k
Copie les fichiers et conserve l'attribut de lecture
seule pour les fichiers de destination si les fichiers
sources possèdent cet attribut. Par défaut, xcopy
supprime l'attribut de lecture seule.
/r
Copie les fichiers avec un attribut de lecture seule.
/h
Copie les fichiers dotés des attributs fichier caché et
fichier système. Par défaut, la commande xcopy ne
copie pas les fichiers cachés ou les fichiers système.
/a
Copie uniquement les fichiers sources dotés de
l'attribut archive. Cette option de ligne de commandes ne
permet pas de modifier l'attribut archive du fichier source.
Pour plus d'informations sur l'activation de cet attribut à
l'aide de la commande attrib, consultez Rubriques
connexes.
/m
Copie les fichiers sources dotés de l'attribut archive.
Contrairement à l'option de ligne de commandes /a,
l'option /m permet de désactiver l'attribut archive
des fichiers spécifiés dans la source. Pour plus
d'informations sur l'activation de cet attribut à l'aide de
la commande attrib, consultez Rubriques connexes.
/n
Crée des copies en utilisant les noms de fichier ou de
répertoire abrégés NTFS. Cette option de ligne de commandes
est requise lors de la copie de fichiers ou de répertoires
d'un volume NTFS vers un volume FAT ou lorsque que les
conventions de noms de fichier du système de fichiers FAT
(8.3) sont exigées sur le système de fichiers de
destination. Le système de fichiers de destination peut être
le système FAT ou NTFS.
/o
Copie les informations relatives à l'appartenance des
fichiers et à la liste de contrôle d'accès discrétionnaire (DACL,
Discretionary access control list)
/x
Copie les paramètres d'audit des fichiers et les
informations relatives à la liste de contrôle d'accès du
système (SACL, System access control list) (implique
l'utilisation de l'option /o).
Spécifie la liste des fichiers contenant des chaînes.
/y
Supprime la demande de confirmation de remplacement d'un
fichier de destination existant.
/-y
Affiche la demande de confirmation de remplacement d'un
fichier de destination existant.
/z
Permet la copie sur un réseau en mode redémarrage.
/?
Affiche l'aide à l'invite de commandes.
Remarques
Utilisation de l'option /v
Windows XP n'utilise pas cette commande. Elle
n'est acceptée que pour la compatibilité avec les fichiers
de MS-DOS.
Utilisation de /exclude
Présente chaque chaîne sur une ligne distincte dans
chaque fichier. Si l'une quelconque des chaînes présentées
correspond à une partie du chemin d'accès absolu du fichier
à copier, ce fichier est alors exclus du processus de copie.
Par exemple, si vous spécifiez la chaîne "\Obj\", vous
excluez tous les fichiers qui figurent sous le répertoire
Obj. Si vous spécifiez la chaîne ".obj", vous excluez tous
les fichiers avec l'extension .obj.
Utilisation de /z
Si la connexion est perdue pendant la phase de copie
(notamment si le serveur qui est mis hors connexion entrave
la connexion), l'exécution de la commande reprend dès que la
connexion est rétablie. L'utilisation de cette option permet
également d'afficher le pourcentage de copie réalisée pour
chaque fichier.
Utilisation de l'option /y dans la variable
d'environnement COPYCMD
Vous pouvez utiliser l'option /y dans la variable
d'environnement COPYCMD. Cette option peut être remplacée
par /-y sur la ligne de commandes. Par défaut,
l'utilisateur est invité à la remplacer, excepté s'il
exécute la commande copy à partir d'un script de
commandes.
Copie de fichiers cryptés
La copie de fichiers cryptés sur un volume qui ne prend
pas en charge les résultats au format EFS génère une erreur.
Commencez par décrypter les fichiers ou par les copier sur
un volume qui prend en charge le système EFS de fichiers
cryptés.
Ajout de fichiers
Pour ajouter des fichiers, spécifiez un fichier de
destination unique et plusieurs fichiers sources (en
utilisant des caractères génériques ou le format
fichier1+fichier2+fichier3).
Valeur par défaut du paramètre Destination
Si vous omettez le paramètre Destination, la
commande xcopy copie les fichiers dans le répertoire
en cours.
Comment indiquer si la destination est un fichier ou un
répertoire
Si le paramètre Destination ne fait référence à
aucun répertoire existant et qu'il ne se termine pas par une
barre oblique inverse (\), le message suivant s'affiche :
Est-ce que [répertoire de destination] spécifie un
nom de fichier
ou un nom de répertoire de la destination
(F = fichier, R = répertoire) ?
Appuyez sur F si vous souhaitez que les fichiers soient
copiés dans un fichier. Appuyez sur R si vous souhaitez que
les fichiers soient copiés dans un répertoire.
Vous pouvez supprimer l'affichage de ce message en
utilisant l'option de ligne de commandes /i. La
commande xcopy suppose alors que la destination est
un répertoire si la source correspond à plusieurs fichiers
ou à un répertoire.
Utilisation de la commande xcopy pour affecter
l'attribut archive aux fichiers de destination
La commande xcopy crée des fichiers avec
l'attribut archive même si le fichier source ne possède pas
cet attribut. Pour plus d'informations sur les attributs de
fichier et sur attrib, consultez Rubriques connexes.
Comparaison des commandes xcopy et diskcopy
Si un disque contient des fichiers stockés dans des
sous-répertoires et que vous voulez copier le contenu de ce
disque sur un disque de format différent, utilisez la
commande xcopy au lieu de la commande diskcopy.
Comme la commande diskcopy copie les disques piste
par piste, les disques sources et de destination doivent
être au même format. Cette obligation n'existe pas pour la
commande xcopy. Utilisez plutôt xcopy à moins
que vous ne souhaitiez avoir une copie complète de l'image
d'un disque.
Codes de sortie pour la commande xcopy
Pour traiter les codes de sortie renvoyés par la commande
xcopy, utilisez le paramètre NiveauErreur dans
la commande if dans un programme de commandes. Pour
obtenir un exemple d'un programme de commandes qui traite
les codes de sortie en utilisant la commande if,
consultez Rubriques connexes. Le tableau suivant énumère
chaque code de sortie accompagné d'une description.
Code de sortie
Description
0
Les fichiers ont été copiés sans erreur.
1
Il n'existe pas de fichiers à copier.
2
L'utilisateur a appuyé sur CTRL+C pour
arrêter l'exécution de la commande xcopy.
4
Une erreur d'initialisation s'est
produite. La mémoire ou l'espace disque est insuffisant,
ou vous avez entré un nom de lecteur ou une syntaxe non
valide sur la ligne de commandes.
5
Une erreur d'écriture s'est produite sur
le disque.
Exemples
Pour copier tous les fichiers et sous-répertoires (y
compris tout sous-répertoire vide) du lecteur A vers le
lecteur B, tapez :
xcopy a: b: /s /e
Dans l'exemple précédent, pour inclure tout fichier système
ou tout fichier caché, ajoutez l'option de ligne de commandes
/h :
xcopy a: b: /s /e /h
Pour mettre à jour les fichiers du répertoire \Rapports à
partir des fichiers du répertoire \Données qui ont été
modifiés depuis le 29 décembre 1993, tapez :
xcopy \données \rapports /d:29-12-1993
Dans l'exemple précédent, pour mettre à jour tous les
fichiers du répertoire \Rapports quelle qu'en soit la date,
tapez :
xcopy \données \rapports /u
Pour obtenir la liste des fichiers qui doivent être copiés
par la commande ci-dessus, sans toutefois copier les fichiers,
tapez :
Le fichier Xcopy.out contient la liste de tous les fichiers
devant être copiés.
Pour copier le répertoire \Clients et tous ses
sous-répertoires dans le répertoire \\Public\Adresses sur le
lecteur H du réseau, conserver l'attribut de lecture seule et
demander l'affichage d'une invite lorsqu'un nouveau fichier
est créé sur le lecteur H:, tapez :
xcopy \client h:\public\adresse /s /e /k /p
Pour exécuter la commande précédente, assurez-vous que la
commande xcopy crée le répertoire \Adresse s'il
n'existe pas, supprimez l'affichage du message qui apparaît
lors de la création d'un nouveau répertoire et ajoutez
l'option de ligne de commandes \i de la façon
suivante :
xcopy \client h:\public\adresse /s /e /k /p /i
Vous pouvez créer un programme de commandes assurant les
opérations xcopy et utiliser la commande if dans
ce programme afin de traiter le code de sortie en cas
d'erreur. Le programme de commandes ci-dessous, par exemple,
utilise des paramètres remplaçables pour la source et la
destination de xcopy :
@echo off
rem COPYIT.BAT transfère tous les fichiers de tous les
sous-répertoires
rem du lecteur ou du répertoire source (%1) au lecteur ou
répertoire de destination
(%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Mémoire insuffisante pour copier les fichiers ou
echo lecteur ou syntaxe de ligne de commandes non valide.
goto exit
:abort
echo Vous avez appuyé sur CTRL+C pour mettre fin à la copie.
goto exit
:exit
Pour utiliser ce programme de commandes afin de copier dans
le lecteur B tous les fichiers du répertoire C:\PrgmCode et de
ses sous-répertoires, tapez :
copyit c:\prgmcode b:
L'interpréteur de commandes substitue C:\Prgmcode à %1
et B: à %2, puis utilise xcopy avec les options
de ligne de commandes /e et /s. Si xcopy
rencontre une erreur, le programme de commandes lit le code de
sortie et passe à l'étiquette indiquée dans l'instruction
correspondante IF ERRORLEVEL, puis affiche le message
approprié et le programme de commandes se ferme.
Ceci était la dernière commande, maintenant, comme promis
vous aurez tout ce qui manquait dans les cours précédents
détaillé dans la dernière page (y' a baucop de commandes !).