Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Copie des fichiers et des répertoires, y compris les sous-répertoires.
Pour obtenir des exemples d’utilisation de cette commande, consultez Exemples.
Syntaxe
xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]
Paramètres
Paramètre | Descriptif |
---|---|
<Source> | Obligatoire. Spécifie l’emplacement et les noms des fichiers que vous souhaitez copier. Ce paramètre doit inclure un lecteur ou un chemin d’accès. |
[<Destination>] | Spécifie la destination des fichiers que vous souhaitez copier. Ce paramètre peut inclure une lettre de lecteur et un signe deux-points, un nom de répertoire, un nom de fichier ou une combinaison de celles-ci. |
/w | Affiche le message suivant et attend votre réponse avant de commencer à copier des fichiers : appuyez sur n’importe quelle touche pour commencer à copier des fichiers |
/p | Vous invite à confirmer si vous souhaitez créer chaque fichier de destination. |
/C | Ignore les erreurs. |
/v | Vérifie chaque fichier tel qu’il est écrit dans le fichier de destination pour vous assurer que les fichiers de destination sont identiques aux fichiers sources. |
/q | Supprime l’affichage des xcopy messages. |
/f | Affiche les noms de fichiers source et de destination lors de la copie. |
/l | Génère une liste de fichiers à copier, mais ne copie pas activement les fichiers. |
/g | Crée des fichiers de destination déchiffrés lorsque la destination ne prend pas en charge le chiffrement. |
/d [ :MM-DD-AAAA] | Copie uniquement les fichiers sources modifiés à la date spécifiée ou après celle-ci. Si vous n’incluez pas de valeur MM-DD-AAAA , xcopy copie tous les fichiers sources plus récents que les fichiers de destination existants. Cette option de ligne de commande vous permet de mettre à jour les fichiers qui ont changé. |
/U | Copie les fichiers de la source qui existent uniquement sur la destination . |
/Je | Si la source est un répertoire ou contient des caractères génériques et que la destination n’existe pas, xcopy suppose que la destination spécifie un nom de répertoire et crée un répertoire. Ensuite, xcopy copie tous les fichiers spécifiés dans le nouveau répertoire. Par défaut, xcopy vous invite à spécifier si la destination est un fichier ou un répertoire. |
/s | Copie des répertoires et des sous-répertoires, sauf s’ils sont vides. Si vous omettez /s, xcopy fonctionne dans un seul répertoire. |
/e | Copie tous les sous-répertoires, même s’ils sont vides. Utilisez /e avec les options de ligne de commande /s et /t . |
/t | Copie la structure de sous-répertoires (autrement dit, l’arborescence) uniquement, et non les fichiers. Pour copier des répertoires vides, vous devez inclure l’option de ligne de commande /e . |
/k | Copie les fichiers et conserve l’attribut en lecture seule sur les fichiers de destination s’il est présent sur les fichiers sources . Par défaut, xcopy supprime l’attribut en lecture seule. |
/r | Copie les fichiers en lecture seule. |
par heure | Copie des fichiers avec des attributs de fichiers masqués et système. Par défaut, xcopy ne copie pas les fichiers masqués ou système |
/un | Copie uniquement les fichiers sources dont les attributs de fichier d’archivage sont définis. /a ne modifie pas l’attribut de fichier archive du fichier source. Pour plus d’informations sur la définition de l’attribut de fichier d’archivage à l’aide d’attrib, consultez les liens connexes. |
/m | Copie les fichiers sources dont les attributs de fichier d’archivage sont définis. Contrairement à /a, /m désactive les attributs de fichier d’archive dans les fichiers spécifiés dans la source. Pour plus d’informations sur la définition de l’attribut de fichier d’archivage à l’aide d’attrib, consultez les liens connexes. |
/n | Crée des copies à l’aide des noms de répertoires ou de fichiers courts NTFS. /n est requis lorsque vous copiez des fichiers ou des répertoires à partir d’un volume NTFS vers un volume FAT ou lorsque la convention d’affectation de noms du système de fichiers FAT (autrement dit, 8,3 caractères) est requise sur le système de fichiers de destination . Le système de fichiers de destination peut être FAT ou NTFS. |
/o | Copie les informations de propriété de fichier et de liste de contrôle d’accès discrétionnaire (DACL). |
/x | Copie les paramètres d’audit des fichiers et les informations de liste de contrôle d’accès système (SACL) (implique /o). |
/exclude :FileName1[+[FileName2]][+[FileName3]( )] | Spécifie une liste de fichiers. Au moins un fichier doit être spécifié. Chaque fichier contient des chaînes de recherche avec chaque chaîne sur une ligne distincte du fichier. Lorsqu’une des chaînes correspond à une partie du chemin absolu du fichier à copier, ce fichier est exclu de la copie. Par exemple, la spécification de la chaîne obj exclut tous les fichiers sous le répertoire obj ou tous les fichiers avec l’extension .obj . |
/y | Supprime les invites pour confirmer que vous souhaitez remplacer un fichier de destination existant. |
/-y | Invite à confirmer que vous souhaitez remplacer un fichier de destination existant. |
/z | Copie sur un réseau en mode redémarré. |
/b | Copie le lien symbolique au lieu des fichiers. Ce paramètre a été introduit dans Windows Vista®. |
/j | Copie les fichiers sans mise en mémoire tampon. Recommandé pour les fichiers très volumineux. Ce paramètre a été ajouté dans Windows Server 2008 R2. |
/compresse | Demandez la compression réseau lors du transfert de fichiers, le cas échéant. |
/[- ]éparse |
Active ou désactive la conservation de l'état épars des fichiers pendant le processus de copie. Si les deux paramètres sont spécifiés, /-éparse remplace /sparse. |
/noclone | Ne tente pas d'optimiser le clonage des blocs. |
/? | Affiche l’aide à l’invite de commandes. |
Remarques
Utilisation de /z
Si vous perdez votre connexion pendant la phase de copie (par exemple, si le serveur se déconnecte de la connexion), il reprend après avoir rétabli la connexion. /z affiche également le pourcentage de l’opération de copie terminée pour chaque fichier.
Utilisation de /y dans la variable d’environnement COPYCMD.
Vous pouvez utiliser /y dans la variable d’environnement COPYCMD. Vous pouvez remplacer cette commande à l’aide de /-y sur la ligne de commande. Par défaut, vous êtes invité à remplacer.
Copie de fichiers chiffrés
La copie de fichiers chiffrés dans un volume qui ne prend pas en charge EFS génère une erreur. Déchiffrez d’abord les fichiers ou copiez les fichiers dans un volume qui prend en charge EFS.
Ajout de fichiers
Pour ajouter des fichiers, spécifiez un fichier unique pour la destination, mais plusieurs fichiers pour la source (autrement dit, en utilisant des caractères génériques ou un format file1+file2+file3).
Valeur par défaut pour la destination
Si vous omettez la destination, la
xcopy
commande copie les fichiers dans le répertoire actif.Spécification de la destination d’un fichier ou d’un répertoire
Si la destination ne contient pas de répertoire existant et ne se termine pas par une barre oblique inverse (), le message suivant s’affiche :
Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?
Appuyez sur F si vous souhaitez que le fichier ou les fichiers soient copiés dans un fichier. Appuyez sur D si vous souhaitez que le fichier ou les fichiers soient copiés dans un répertoire.
Vous pouvez supprimer ce message à l’aide de l’option de ligne de commande /i , ce qui suppose
xcopy
que la destination est un répertoire si la source est plusieurs fichiers ou un répertoire.Utilisation de la commande pour définir l’attribut
xcopy
archive pour les fichiers de destinationLa
xcopy
commande crée des fichiers avec le jeu d’attributs d’archivage, que cet attribut ait été défini ou non dans le fichier source. Pour plus d’informations sur les attributs de fichier et attrib, consultez liens connexes.Comparaison des
xcopy
et desdiskcopy
Si vous avez un disque qui contient des fichiers dans des sous-répertoires et que vous souhaitez le copier dans un disque dont le format est différent, utilisez la
xcopy
commande au lieu dediskcopy
. Étant donné que ladiskcopy
commande copie les disques suivis par piste, vos disques source et de destination doivent avoir le même format. Laxcopy
commande n’a pas cette exigence. Utilisezxcopy
sauf si vous avez besoin d’une copie complète d’image de disque.Erreur de mémoire insuffisante
Une erreur « mémoire insuffisante » peut se produire en cas d’exécution
xcopy
pour copier un fichier ou un dossier dont le chemin d’accès au nom de fichier est supérieur à 255 caractères.Codes de sortie pour
xcopy
Pour traiter les codes de sortie retournés par
xcopy
, utilisez le paramètre ErrorLevel sur la ligne de commande si dans un programme batch. Pour obtenir un exemple de programme par lots qui traite les codes de sortie à l’aide de si, consultez les liens connexes. Le tableau suivant répertorie chaque code de sortie et une description.Code de sortie Descriptif 0 Les fichiers ont été copiés sans erreur. 1 Aucun fichier n’a été trouvé à copier. 2 L’utilisateur a appuyé sur Ctrl+C pour terminer xcopy
.4 Une erreur d’initialisation s’est produite. Il n’y a pas suffisamment de mémoire ou d’espace disque, ou vous avez entré un nom de lecteur non valide ou une syntaxe non valide sur la ligne de commande. 5 Une erreur d’écriture de disque s’est produite.
Exemples
1. Pour copier tous les fichiers et sous-répertoires (y compris les sous-répertoires vides) du lecteur A au lecteur B, tapez :
xcopy a: b: /s /e
2. Pour inclure des fichiers système ou masqués dans l’exemple précédent, ajoutez l’option de ligne de commande /h comme suit :
xcopy a: b: /s /e /h
3. Pour mettre à jour les fichiers dans le répertoire \Reports avec les fichiers du répertoire \Rawdata qui ont changé depuis le 29 décembre 1993, tapez :
xcopy \rawdata \reports /d:12-29-1993
4. Pour mettre à jour tous les fichiers qui existent dans \Reports dans l’exemple précédent, quel que soit la date, tapez :
xcopy \rawdata \reports /u
5. Pour obtenir une liste des fichiers à copier par la commande précédente (autrement dit, sans copier réellement les fichiers), tapez :
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
Le fichier xcopy.out répertorie chaque fichier à copier.
6. Pour copier le répertoire \Customer et tous les sous-répertoires dans le répertoire \\Public\Address sur le lecteur réseau H :, conservez l’attribut en lecture seule et soyez invité à créer un fichier sur H :, tapez :
xcopy \customer h:\public\address /s /e /k /p
7. Pour émettre la commande précédente, assurez-vous de xcopy
créer le répertoire \Address s’il n’existe pas et supprimez le message qui s’affiche lorsque vous créez un répertoire, ajoutez l’option de ligne de commande /i comme suit :
xcopy \customer h:\public\address /s /e /k /p /i
8. Vous pouvez créer un programme de traitement par lots pour effectuer des xcopy
opérations et utiliser le lot si la commande permet de traiter le code de sortie si une erreur se produit. Par exemple, le programme batch suivant utilise des paramètres remplaçables pour les xcopy
paramètres source et de destination :
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit
:abort
echo You pressed CTRL+C to end the copy operation.
goto exit
:exit
Pour utiliser le programme batch précédent pour copier tous les fichiers dans le répertoire C :\Prgmcode et ses sous-répertoires pour lecteur B, tapez :
copyit c:\prgmcode b:
L’interpréteur de commandes remplace C :\Prgmcode pour %1 et B : pour %2, puis utilise xcopy
les options de ligne de commande /e et /s . Si xcopy
une erreur se produit, le programme batch lit le code de sortie et accède à l’étiquette indiquée dans l’instruction IF ERRORLEVEL appropriée, puis affiche le message approprié et quitte le programme batch.
9. Cet exemple copie tous les répertoires non vides, ainsi que les fichiers avec l’extension de fichier associée après le symbole astérisque.
xcopy .\toc*.yml ..\..\Copy-To\ /S /Y
rem Output example.
rem .\d1\toc.yml
rem .\d1\d12\toc.yml
rem .\d2\toc.yml
rem 3 File(s) copied
Dans l’exemple précédent, cette valeur de paramètre source particulière .\toc*.yml copie les mêmes fichiers 3, même si ses deux caractères de chemin d’accès .\ ont été supprimés. Toutefois, aucun fichier ne serait copié si le caractère générique astérisque a été supprimé du paramètre source, ce qui en fait simplement .\toc.yml.