xcopyxcopy

Copie les fichiers et les répertoires, y compris les sous-répertoires.Copies files and directories, including subdirectories.

Pour obtenir des exemples d’utilisation de cette commande, consultez Exemples.For examples of how to use this command, see Examples.

SyntaxeSyntax

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]

ParamètresParameters

ParamètreParameter DescriptionDescription
<Source> Obligatoire.Required. Spécifie l’emplacement et les noms des fichiers que vous souhaitez copier.Specifies the location and names of the files you want to copy. Ce paramètre doit inclure un lecteur ou un chemin d’accès.This parameter must include either a drive or a path.
[<Destination>][<Destination>] Spécifie la destination des fichiers que vous souhaitez copier.Specifies the destination of the files you want to copy. 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 ceux-ci.This parameter can include a drive letter and colon, a directory name, a file name, or a combination of these.
/w/w Affiche le message suivant et attend votre réponse avant de commencer à copier les fichiers :Displays the following message and waits for your response before starting to copy files:
Appuyez sur n’importe quelle touche pour commencer à copier le ou les fichiersPress any key to begin copying file(s)
/p/p Vous invite à confirmer si vous souhaitez créer chaque fichier de destination.Prompts you to confirm whether you want to create each destination file.
/C/c Ignore les erreurs.Ignores errors.
/v/v Vérifie chaque fichier tel qu’il est écrit dans le fichier de destination pour s’assurer que les fichiers de destination sont identiques aux fichiers sources.Verifies each file as it is written to the destination file to make sure that the destination files are identical to the source files.
/q/q Supprime l’affichage des messages xcopy .Suppresses the display of xcopy messages.
/f/f Affiche les noms des fichiers source et de destination lors de la copie.Displays source and destination file names while copying.
/l/l Affiche la liste des fichiers à copier.Displays a list of files that are to be copied.
/g/g Crée des fichiers de destination déchiffrés lorsque la destination ne prend pas en charge le chiffrement.Creates decrypted Destination files when the destination does not support encryption.
/d [ : MM-JJ-AAAA]/d [:MM-DD-YYYY] Copie les fichiers sources modifiés à la date spécifiée uniquement ou après.Copies source files changed on or after the specified date only. Si vous n’incluez pas de valeur mm-jj-aaaa , xcopy copie tous les fichiers sources plus récents que les fichiers de destination existants.If you do not include a MM-DD-YYYY value, xcopy copies all Source files that are newer than existing Destination files. Cette option de ligne de commande vous permet de mettre à jour les fichiers qui ont été modifiés.This command-line option allows you to update files that have changed.
/U/u Copie les fichiers de la source qui existent sur la destination uniquement.Copies files from Source that exist on Destination only.
/i/i 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.If Source is a directory or contains wildcards and Destination does not exist, xcopy assumes Destination specifies a directory name and creates a new directory. Xcopy copie ensuite tous les fichiers spécifiés dans le nouveau répertoire.Then, xcopy copies all specified files into the new directory. Par défaut, xcopy vous invite à spécifier si la destination est un fichier ou un répertoire.By default, xcopy prompts you to specify whether Destination is a file or a directory.
/s/s Copie les répertoires et les sous-répertoires, sauf s’ils sont vides.Copies directories and subdirectories, unless they are empty. Si vous omettez /s, xcopy fonctionne dans un répertoire unique.If you omit /s, xcopy works within a single directory.
/e/e Copie tous les sous-répertoires, même s’ils sont vides.Copies all subdirectories, even if they are empty. Utilisez /e avec les options de ligne de commande /s et /t .Use /e with the /s and /t command-line options.
/t/t Copie la structure du sous-répertoire (autrement dit, l’arborescence) uniquement, pas les fichiers.Copies the subdirectory structure (that is, the tree) only, not files. Pour copier des répertoires vides, vous devez inclure l’option de ligne de commande /e .To copy empty directories, you must include the /e command-line option.
/k/k Copie les fichiers et conserve l’attribut de lecture seule sur les fichiers de destination , s’ils sont présents dans les fichiers sources .Copies files and retains the read-only attribute on Destination files if present on the Source files. Par défaut, xcopy supprime l’attribut de lecture seule.By default, xcopy removes the read-only attribute.
/r/r Copie les fichiers en lecture seule.Copies read-only files.
/h/h Copie les fichiers avec des attributs de fichiers système et cachés.Copies files with hidden and system file attributes. Par défaut, xcopy ne copie pas les fichiers cachés ou systèmeBy default, xcopy does not copy hidden or system files
/a/a Copie uniquement les fichiers sources dont les attributs du fichier d’archive sont définis.Copies only Source files that have their archive file attributes set. /a ne modifie pas l’attribut fichier d’archive du fichier source./a does not modify the archive file attribute of the source file. Pour plus d’informations sur la définition de l’attribut de fichier d’archive à l’aide d' Attrib, consultez Références supplémentaires.For information about how to set the archive file attribute by using attrib, see Additional References.
/m/m Copie les fichiers sources dont les attributs du fichier d’archive sont définis.Copies Source files that have their archive file attributes set. Contrairement à /a, /m désactive les attributs du fichier d’archive dans les fichiers spécifiés dans la source.Unlike /a, /m turns off archive file attributes in the files that are specified in the source. Pour plus d’informations sur la définition de l’attribut de fichier d’archive à l’aide d' Attrib, consultez Références supplémentaires.For information about how to set the archive file attribute by using attrib, see Additional References.
/n/n Crée des copies en utilisant les noms de fichiers ou de répertoires courts NTFS.Creates copies by using the NTFS short file or directory names. /n est requis lorsque vous copiez des fichiers ou des répertoires d’un volume NTFS vers un volume FAT ou lorsque la Convention d’affectation de noms du système de fichiers FAT (c’est-à-dire 8,3 caractères) est requise sur le système de fichiers de destination ./n is required when you copy files or directories from an NTFS volume to a FAT volume or when the FAT file system naming convention (that is, 8.3 characters) is required on the Destination file system. Le système de fichiers de destination peut être FAT ou NTFS.The Destination file system can be FAT or NTFS.
/o/o Copie la propriété du fichier et les informations de liste de contrôle d’accès discrétionnaire (DACL).Copies file ownership and discretionary access control list (DACL) information.
/x/x Copie les paramètres d’audit de fichier et les informations de liste de contrôle d’accès système (SACL) (implique /o).Copies file audit settings and system access control list (SACL) information (implies /o).
/Exclude : Nomfichier1 [+ [Nomfichier2] [+ [FileName3] ( ) ]/exclude:FileName1[+[FileName2][+[FileName3]( )] Spécifie une liste de fichiers.Specifies a list of files. Au moins un fichier doit être spécifié.At least one file must be specified. Chaque fichier contient des chaînes de recherche avec chaque chaîne sur une ligne distincte dans le fichier.Each file will contain search strings with each string on a separate line in the file.
Lorsque l’une des chaînes correspond à une partie du chemin d’accès absolu du fichier à copier, ce fichier est exclu de la copie.When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied. 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 .For example, specifying the string obj will exclude all files underneath the directory obj or all files with the .obj extension.
/y/y Supprime l’invite pour confirmer que vous souhaitez remplacer un fichier de destination existant.Suppresses prompting to confirm that you want to overwrite an existing destination file.
/-y/-y Invite à confirmer que vous souhaitez remplacer un fichier de destination existant.Prompts to confirm that you want to overwrite an existing destination file.
/z/z Copie sur un réseau en mode redémarrable.Copies over a network in restartable mode.
/b/b Copie le lien symbolique à la place des fichiers.Copies the symbolic link instead of the files. Ce paramètre a été introduit dans Windows Vista®.This parameter was introduced in Windows Vista®.
/j/j Copie les fichiers sans mise en mémoire tampon.Copies files without buffering. Recommandé pour les fichiers de très grande taille.Recommended for very large files. Ce paramètre a été ajouté dans Windows Server 2008 R2.This parameter was added in Windows Server 2008 R2.
/?/? Affiche l'aide à l'invite de commandes.Displays help at the command prompt.

NotesRemarks

  • Utilisation de /zUsing /z

    Si vous perdez votre connexion au cours de la phase de copie (par exemple, si le serveur est connecté à la connexion), il reprend une fois la connexion rétablie.If you lose your connection during the copy phase (for example, if the server going offline severs the connection), it resumes after you reestablish the connection. /z affiche également le pourcentage de l’opération de copie effectuée pour chaque fichier./z also displays the percentage of the copy operation completed for each file.

  • Utilisation de /y dans la variable d’environnement COPYCMD.Using /y in the COPYCMD environment variable.

    Vous pouvez utiliser /y dans la variable d’environnement COPYCMD.You can use /y in the COPYCMD environment variable. Vous pouvez remplacer cette commande à l’aide de /-y sur la ligne de commande.You can override this command by using /-y on the command line. Par défaut, vous êtes invité à remplacer.By default, you are prompted to overwrite.

  • Copie de fichiers chiffrésCopying encrypted files

    La copie de fichiers chiffrés sur un volume qui ne prend pas en charge le système de fichiers EFS génère une erreur.Copying encrypted files to a volume that does not support EFS results in an error. Déchiffrez les fichiers en premier ou copiez les fichiers sur un volume qui prend en charge EFS.Decrypt the files first or copy the files to a volume that does support EFS.

  • Ajout de fichiersAppending files

    Pour ajouter des fichiers, spécifiez un seul fichier à destination, mais plusieurs fichiers pour la source (autrement dit, en utilisant des caractères génériques ou fichier1 + fichier2 + fichier3 format).To append files, specify a single file for destination, but multiple files for source (that is, by using wildcards or file1+file2+file3 format).

  • Valeur par défaut pour la destinationDefault value for Destination

    Si vous omettez la destination, la commande xcopy copie les fichiers dans le répertoire actif.If you omit Destination, the xcopy command copies the files to the current directory.

  • Spécification de la destination d’un fichier ou d’un répertoireSpecifying whether Destination is a file or directory

    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 :If Destination does not contain an existing directory and does not end with a backslash (), the following message appears:

    Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?
    

Appuyez sur F Si vous souhaitez copier le ou les fichiers dans un fichier.Press F if you want the file or files to be copied to a file. Appuyez sur D si vous souhaitez que les fichiers soient copiés dans un répertoire.Press D if you want the file or files to be copied to a directory.

Vous pouvez supprimer ce message à l’aide de l’option de ligne de commande /i , qui oblige xcopy à supposer que la destination est un répertoire si la source est plus d’un fichier ou d’un répertoire.You can suppress this message by using the /i command-line option, which causes xcopy to assume that the destination is a directory if the source is more than one file or a directory.

  • Utilisation de la commande xcopy pour définir l’attribut archive des fichiers de destinationUsing the xcopy command to set archive attribute for Destination files

    La commande xcopy crée des fichiers avec l’attribut archive définie, que cet attribut ait été défini ou non dans le fichier source.The xcopy command creates files with the archive attribute set, whether or not this attribute was set in the source file. Pour plus d’informations sur les attributs de fichier et sur Attrib, consultez Références supplémentaires.For more information about file attributes and attrib, see Additional References.

  • Comparaison de xcopy et de diskcopyComparing xcopy and diskcopy

    Si vous avez un disque qui contient des fichiers dans des sous-répertoires et que vous souhaitez le copier sur un disque ayant un format différent, utilisez la commande xcopy au lieu de diskcopy.If you have a disk that contains files in subdirectories and you want to copy it to a disk that has a different format, use the xcopy command instead of diskcopy. Étant donné que la commande diskcopy copie les disques par piste, vos disques source et de destination doivent avoir le même format.Because the diskcopy command copies disks track by track, your source and destination disks must have the same format. La commande xcopy n’a pas cette exigence.The xcopy command does not have this requirement. Utilisez xcopy sauf si vous avez besoin d’une copie complète de l’image de disque.Use xcopy unless you need a complete disk image copy.

  • Codes de sortie pour xcopyExit codes for xcopy

    Pour traiter les codes de sortie retournés par xcopy, utilisez le paramètre ERRORLEVEL sur la ligne de commande If dans un programme de traitement par lots.To process exit codes returned by xcopy, use the ErrorLevel parameter on the if command line in a batch program. Pour obtenir un exemple de programme de traitement par lots qui traite les codes de sortie à l’aide de If, consultez Références supplémentaires.For an example of a batch program that processes exit codes using if, see Additional References. Le tableau suivant répertorie chaque code de sortie et une description.The following table lists each exit code and a description.

    Code de sortieExit code DescriptionDescription
    00 Les fichiers ont été copiés sans erreur.Files were copied without error.
    11 Aucun fichier à copier n’a été trouvé.No files were found to copy.
    22 L’utilisateur a appuyé sur CTRL + C pour terminer xcopy.The user pressed CTRL+C to terminate xcopy.
    44 Une erreur d’initialisation s’est produite.Initialization error occurred. Il n’y a pas assez 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.There is not enough memory or disk space, or you entered an invalid drive name or invalid syntax on the command line.
    55 Une erreur d’écriture sur le disque s’est produite.Disk write error occurred.

ExemplesExamples

1. pour copier tous les fichiers et sous-répertoires (y compris les sous-répertoires vides) du lecteur A vers le lecteur B, tapez :1. To copy all the files and subdirectories (including any empty subdirectories) from drive A to drive B, type:

xcopy a: b: /s /e

2. pour inclure tous les fichiers système ou masqués dans l’exemple précédent, ajoutez l’option de ligne de commande/h comme suit :2. To include any system or hidden files in the previous example, add the/h command-line option as follows:

xcopy a: b: /s /e /h

3. pour mettre à jour les fichiers du répertoire \Rapports avec les fichiers du répertoire \Rawdata qui ont été modifiés depuis le 29 décembre 1993, tapez :3. To update files in the \Reports directory with the files in the \Rawdata directory that have changed since December 29, 1993, type:

xcopy \rawdata \reports /d:12-29-1993

4. pour mettre à jour tous les fichiers qui existent dans le fichier \Rapports dans l’exemple précédent, quelle que soit la date, tapez :4. To update all the files that exist in \Reports in the previous example, regardless of date, type:

xcopy \rawdata \reports /u

5. pour obtenir la liste des fichiers à copier par la commande précédente (autrement dit, sans copier réellement les fichiers), tapez :5. To obtain a list of the files to be copied by the previous command (that is, without actually copying the files), type:

xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

Le fichier xcopy. out répertorie tous les fichiers qui doivent être copiés.The file xcopy.out lists every file that is to be copied.

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 lecture seule et soyez invité à entrer un nouveau fichier sur h :, tapez :6. To copy the \Customer directory and all subdirectories to the directory \\Public\Address on network drive H:, retain the read-only attribute, and be prompted when a new file is created on H:, type:

xcopy \customer h:\public\address /s /e /k /p

7. pour émettre la commande précédente, vérifiez que xcopy crée le répertoire \Address s’il n’existe pas et supprimez le message qui s’affiche lorsque vous créez un nouveau répertoire, ajoutez l’option de ligne de commande /i comme suit :7. To issue the previous command, ensure that xcopy creates the \Address directory if it does not exist, and suppress the message that appears when you create a new directory, add the /i command-line option as follows:

xcopy \customer h:\public\address /s /e /k /p /i

8. vous pouvez créer un programme batch pour effectuer des opérations xcopy et utiliser la commande Batch If pour traiter le code de sortie si une erreur se produit.8. You can create a batch program to perform xcopy operations and use the batch if command to process the exit code if an error occurs. Par exemple, le programme de traitement par lots suivant utilise des paramètres remplaçables pour les paramètres source et destination de xcopy :For example, the following batch program uses replaceable parameters for the xcopy source and destination parameters:

@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 vers le lecteur B, tapez :To use the preceding batch program to copy all files in the C:\Prgmcode directory and its subdirectories to drive B, type:

copyit c:\prgmcode b:

L’interpréteur de commandes substitue C:\Prgmcode pour %1 et B : pour %2, utilise xcopy avec les options de ligne de commande /e et /s .The command interpreter substitutes C:\Prgmcode for %1 and B: for %2, then uses xcopy with the /e and /s command-line options. Si xcopy rencontre une erreur, le programme de traitement par lots 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 de traitement par lots.If xcopy encounters an error, the batch program reads the exit code and goes to the label indicated in the appropriate IF ERRORLEVEL statement, then displays the appropriate message and exits from the batch program.

9. cet exemple copie tous les répertoires non vides, ainsi que les fichiers dont le nom correspond au modèle donné avec le symbole de l’astérisque.9. This example copies all the non-empty directories, plus files whose name match the pattern given with the asterisk symbol.

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 3 fichiers, même si ses deux caractères \ de chemin d’accès ont été supprimés.In the preceding example, this particular source parameter value .\toc*.yml copies the same 3 files even if its two path characters .\ were removed. Toutefois, aucun fichier n’est copié si le caractère générique astérisque a été supprimé du paramètre source, ce qui le rend juste . \ TOC. yml.However, no files would be copied if the asterisk wildcard was removed from the source parameter, making it just .\toc.yml.

Références supplémentairesAdditional References