| Objet : | Copier des données entre des disques, des répertoires, des fichiers ou des périphériques matériels physiques (tels que votre imprimante ou votre port série) |
| Format : | COPY [/= /I"text"] [/A:... /BAK /C /CF /CRC:type:filename /D /DD /DS:[acwu]yyyy-mm-dd /E /F /FTP:A /G /GZ /H /J /K /L /M /MD /N[dejnrstz] /O /O:[-]acdeginorstuz /P /Q /R /RCT /S[[+]n] /SX /T /TS[acwu]hh:mm:ss.ms /U /UF /V[n] /W /WAIT=n /X /Z] [@file ] source [+] ... [/A|/B] [TO:] target [...] [/A|/B] |
| source | Un fichier ou une liste de fichiers ou un périphérique à partir duquelcopier . |
| target | Unfichier, un répertoire ou un périphérique vers lequelcopier . |
| @file | Unfichier texte contenant les noms des fichiers sources, un par ligne (voir les listes @file pour plus de détails) |
Voir aussi : ATTRIB, MOVE et REN.
Sélection de fichiers
Prend en charge le dialogue de commande, les commutateurs d'attributs, les caractères génériques étendus , les plages, les noms de fichiers multiples, l'expansion retardée des variables et les listes d'inclusion. Les plages de date, d'heure, de taille ou d'exclusion situées n'importe où sur la ligne s'appliquent à tous les fichiers sources. Utilisez les caractères génériques avec précaution sur les volumes LFN ; voir Recherches de fichiers LFN pour plus de détails.
Internet
Peut être utilisé avec les serveurs FTP / FTPS / TFTP / HTTP / HTTPS.
Utilisation
Si vous ne spécifiez aucun argument, COPY affichera sa boîte de dialogue de commande.
L'utilisation la plus simple de COPY est de faire une copie d'un fichier, comme dans cet exemple qui fait une copie d'un fichier appelé FICHIER1.ABC:
copy file1.abc file2.def
Vous pouvez également copier un fichier sur un autre lecteur et/ou dans un autre répertoire. La commande suivante copie FICHIER1 dans le répertoire \MYDIR du lecteur E:
copy file1 e:\mydir
Lorsque vous copiez des fichiers vers ou à partir d'un lecteur LFN, vous devez mettre entre guillemets tous les noms de fichiers contenant des espaces blancs ou des caractères spéciaux.
Si vous spécifiez les options /C, /CF, /R, /U ou /UF, COPY ajoutera un ! au spécificateur de copie si la cible existe et est écrasée. Par exemple :
[d:\] copy file1 file2
file1 =>! file2
Pour émuler une approche utilisée par certaines implémentations de CMD, voir la rubrique COPYCMD.
COPY définit trois variables internes :
| %_copy_dirs | Le nombre de répertoires créés |
| %_copy_files | Le nombre de fichiers copiés |
| %_copy_errors | Le nombre d'erreurs. |
•Copie de fichiers
Vous pouvez copier plusieurs fichiers à la fois en utilisant des caractères génériques:
copy *.txt e:\mydir
Vous pouvez également dresser la liste de plusieurs fichierssources en une seule commande. La commande suivante copie 3 fichiers spécifiques du répertoire actuel vers lerépertoire \MYDIR sur le lecteur E:
copy file1 file2 file3 e:\mydir
COPY comprend également les listes d'inclusion, ce qui vous permet de spécifier plusieurs types de fichiers différents dans la même commande. Cette commande copie les fichiers .TXT, .DOC et .BAT du répertoire E:\MYDIR dans le répertoire racine du lecteur A :
copy e:\mydir\*.txt;*.doc;*.bat a:\
S'il n'y a qu'un seul paramètre sur la ligne, COPY considère qu'il s'agit de la source et utilise le lecteur et le répertoire actuels comme destination. Par exemple, la commande suivante copie tous les fichiers .DAT du répertoire actuel du lecteur A dans le répertoire actuel du lecteur actuel :
copy a:*.dat
Si la ligne contient deux paramètres ou plus séparés par des espaces, COPY considère que le dernier paramètre est la destination et copie tous les fichiers source à ce nouvel emplacement. Si ladestination est un lecteur, un répertoire ou un nom de périphérique, les fichiers sources sont copiés individuellement dans le nouvel emplacement. Si ladestination est un nom de fichier, le premier fichier source est copié vers la destination et tous les fichiers sources supplémentaires sont ensuite ajoutés au nouveau fichier dedestination.
Par exemple, lapremière de ces commandes copie individuellement les fichiers .DAT du répertoire actuel du lecteur A vers C:\MYDIR (qui doit déjà exister en tant que répertoire) ; la seconde ajoute tous les fichiers .DAT ensemble dans un grand fichier appelé C:\DATA (en supposant que C:\DATA n'est pas un répertoire):
copy a:*.dat c:\mydir\
copy a:*.dat c:\data
Lorsque vous effectuez une copie dans un répertoire, si vous ajoutez une barre oblique inverse à la fin du nom, comme indiqué dans le premier exemple ci-dessus, COPY affichera un message d'erreur si le nom ne fait pas référence à un répertoire existant. Vous pouvez utiliser cette fonction pour empêcher COPY de traiter un nom de répertoire de destination mal saisi comme un nom de fichier et de tenter d'ajouter tous vos fichiers sources à un seul fichier de destination, alors que vous vouliez en réalité les copier individuellement dans un répertoire dedestination.
Pour copier du texte vers ou depuis le presse-papiers, utilisez CLIP : comme nom de périphérique . L' utilisation de CLIP : avec des données non textuelles produira des résultats imprévisibles. Voir Redirection pour plus d'informations surCLIP :.
•Ajout de fichiers
Le signe + indique à COPY d'ajouter deux ou plusieurs fichiers sources à un seul fichier de destination. Si vous énumérez plusieurs fichiers sources séparés par le signe+ et que vous ne précisez pas de destination, COPY utilisera le nom du premier fichiersource comme destination, et ajoutera chaque fichier suivant au premier fichier.
Par exemple, la commande suivante ajoutera le contenu de MEMO2 et MEMO3 à MEMO1 et laissera le contenu combiné dans le fichier nommé MEMO1:
copy memo1+memo2+memo3
Pour ajouter les trois mêmes fichiers mais stocker le résultat dans BIGMEMO :
copy memo1+memo2+memo3 bigmemo
Si aucune destinationn' est spécifiée, le fichier de destination sera toujours créé dans le répertoire actuel, même si le premier fichier source se trouve dans un autre répertoire ou sur un autre lecteur . Par exemple, cette commande ajoutera C:\MEM\MEMO2 et C:\MEM\MEMO3 à D:\DATA\MEMO1, et laissera le résultat dans C:\MEM\MEMO1:
[c:\mem] copy d:\data\memo1+memo2+memo3
Vous ne pouvez pas ajouter des fichiers à un périphérique (tel qu'une imprimante) ; si vous essayez de le faire, COPY ignorera les signes + et copiera les fichiers individuellement . Si vous tentez d' ajouter plusieurs fichiers sources à un répertoire ou à un disque de destination, COPY ajoutera les fichiers et placera la copie dans le nouvel emplacement avec le même nom que le premier fichiersource.
Il n'est pas possible d'ajouter un fichier à lui-même.
•Utilisation du protocole FTP
Si vous disposez des autorisations nécessaires, vous pouvez effectuer des copies depuis et vers des URL Internet (FTP, TFTP et HTTP). De nombreux serveurs FTP utilisent des systèmes de fichiers sensibles à la casse. Par exemple, les fichiers copiés vers ou depuis des serveurs FTP/HTTP sont sensibles à la casse :
copy ftp://ftp.abc.com/xyz/index index
Les fichiers copiés vers ou depuis les serveurs FTP/HTTP sont normalement transférés en mode binaire. Pour effectuer un transfert en mode ASCII, utilisez le commutateur/L. Les descriptions de fichiers ne sont pas copiées lors de la copie de fichiers vers une URL Internet.
COPY supporte la syntaxe spéciale
copy con: ftp:...
pour copier directement du texte de la console vers un emplacement ftp.
Lescaractères génériques tels que * et ? seront traités comme des caractères génériques dans les URL FTP, mais seront traités comme des caractères normaux dans les URL HTTP.
Note : L ' option /G (pourcentage copié) peut afficher des valeurs erratiques lors du transfert de fichiers de plus de 4 Go (une limitation ftp) et lors de téléchargements http.
Vous pouvez également utiliser la commande IFTP pour lancer une session FTP sur un serveur, puis utiliser une syntaxe abrégée pour spécifier les fichiers et les répertoires souhaités. Pour plus d'informations, voir Utilisation des serveurs FTP/HTTP et d'IFTP.
•Flux de fichiers NTFS
COPY prend en charge les flux de fichiers sur les disques NTFS. Vous pouvez copier un flux individuel en spécifiant son nom, par exemple :
copy myfile:mystream stream.copy
Si aucun nom de flux n'est spécifié, le fichier entier est copié, y compris tous les flux. Toutefois, si vous copiez un fichier sur un lecteur ou un périphérique qui ne prend pas en charge les flux, seules les données primaires du fichier sont copiées ; les flux supplémentaires ne sont pas traités.
Voir Flux de fichiers NTFS pour plus de détails.
•Fonctionnalités avancées
Si votre destination contient des caractères génériques, COPY tentera de les faire correspondre aux noms des sources. Par exemple, cette commande copie les fichiers .DAT du lecteur A vers C:\MYDIR et donne aux nouvelles copies l'extension .DX:
copy a:*.dat c:\mydir\*.dx
Cette fonction peut donner des résultats inattendus si vous l'utilisez avec plusieurs noms de fichiers sources. Par exemple, supposons que le lecteur A contienne XYZ.DAT et XYZ.TXT. La commande :
copy a:\*.dat a:\*.txt c:\mydir\*.dx
copiera A:XYZ.DAT dans C:\MYDIR\XYZ.DX. Elle copiera ensuite A:XYZ.TXT dans C:\MYDIR\XYZ.DX, en écrasant le premier fichier copié.
Vous pouvez utiliser des plages de date, d'heure et de taille pour définir plus précisément les fichiers à copier. Cet exemple copie tous les fichiers du répertoire E:\MYDIR, qui ont été créés ou modifiés hier et dont la taille est inférieure ou égale à 10 000 octets, dans le répertoire racine du lecteur A:
copy /[d-1] /[s0,10000] e:\mydir\* a:\
Vous pouvez également utiliser des plages d'exclusion de fichiers pour restreindre la liste des fichiers qui seraient normalement sélectionnés à l'aide de caractères génériques. Cet exemple copie tous les fichiers du répertoire E:\MYDIR, à l'exception des fichiers de sauvegarde (.BAK ou .BK) :
copy /[!*.bak *.bk] e:\mydir\* a:\
COPY traite normalement les fichiers sources qui n'ont pas l'attribut hidden ou system, et ignore les attributs read-only et archive . Il définira toujours l'attribut archive et effacera l'attribut lecture seule des fichiers de destination. En outre, si la destination est un fichier existant avec l'attribut lecture seule, COPY génère une erreurAccès refusé et refuse d'écraser le fichier. Vous pouvez modifier certains de ces comportements à l'aide de commutateurs :
| /A :.. | Force COPY à traiter les fichiers sources avec les attributs que vous spécifiez après le :, ou à traiter tous les fichiers sources sans tenir compte des attributs, si /A : est utilisé seul. |
| /H | Force COPY à traiter les fichiers sourcescachés et système , ainsi que les fichiers normaux. Les attributs cachés et système de chaque fichier source seront préservés lors de la création des fichiers dedestination. |
| /K | Conserve l'attribut lecture seule de chaque fichier source lors de la création du fichier de destination. Voir /K ci-dessous pour une remarque spéciale si vous travaillez sous Novell NetWare. |
| /Z | Force COPY à écraser un fichier dedestinationexistant , quels que soient ses attributs. |
Vous pouvez copier des fichiers vers plusieurs destinations à l'aide de l'option TO :. Par exemple, pour copier letter.doc dans trois répertoires différents:
| copy letter.doc TO: \save\ f:\backups\ q:\letters\ |
Remarque : le processus d'expansion des caractères génériques tentera d'autoriser à la fois la correspondance par "extension" de type CMD(qui ne suppose qu'une seule extension, à la fin du mot) et la correspondance avancée par chaîne de caractères (qui permet des choses telles que *.exe ou *.exe, etc.). TCC (permettant des choses comme *.*.abc) lorsqu'un astérisque est rencontré dans la destination d'une commande COPY.
COPY prend en charge les expressions régulières de références rétroactives dans le nom de la cible. Si vous utilisez des références arrière, vous devez également utiliser une expression régulière dans le nom de la source. La syntaxe est la suivante
copy ::filename ::target
COPY prend en charge les dossiers web connectés. Si un fichier HTML (c'est-à-dire avec une extension .htm ou .html) est copié, COPY recherche un dossier dans le même répertoire avec le même nom et une extension ".files". S'il est trouvé, le répertoire .files sera copié dans le répertoire cible. Vous pouvez désactiver les dossiers web connectés en définissant la clé de registre :
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\NoFileFolderConnection=0
Vous pouvez remplacer le serveur proxy HTTP, l'utilisateur proxy et le mot de passe proxy par défaut (définis dans TCMD.INI) à l'aide des options /Proxy....
/Proxy=server
/ProxyUser=username
/ProxyPwd=password
Options
Les options /A (copie ASCII) et /B (copie binaire) s'appliquent au nom de fichier précédent et à tous les noms de fichiers suivants sur la ligne de commande jusqu'au nom de fichier précédant le /A ou /B suivant , le cas échéant. Toutes les autres options s'appliquent à tous les noms de fichiers de la ligne de commande, quel que soit leur emplacement.
Certaines options n'ont pas de sens dans certains contextes, auquel cas COPY les ignore. Par exemple,vous ne pouvez pas demander à remplacer un fichier existant lorsque la destination est un périphérique tel que l'imprimante ; il n'existe pas de "fichier existant" sur l'imprimante. Si vous utilisez des options de sortie contradictoires, comme /Q et /P, COPY adopte généralement une approche "conservatrice" et donne la priorité à l'option qui génère le plus d'invites ou d'informations.
Cette option s'applique au nom de fichier qui la précède immédiatement et à tous les noms de fichiers suivants jusqu'au nom de fichier précédant l' option /A ou /Bsuivante .
| /A :... | Sélectionnez uniquement les fichiers pour lesquels le ou les attributs spécifiés ont été définis. Voir Commutateurs d'attributs pour plus d'informations sur les attributs qui peuvent suivre /A :. Voir la mise en garde sous Fonctionnalités avancées ci-dessus avant d'utiliser /A : lorsque les répertoires source et destination contiennent des descriptions de fichiers. Vous devez inclure les deux points avec cette option pour la distinguer du commutateur /A, ci-dessus. N'utilisez pas /A : avec les listes @file. Voir les listes @fichiers pour plus de détails. Les fichiers cachés ou système sélectionnés par cette option écrasent les fichiers cachés ou système. |
Vous pouvez spécifier /A:= pour afficher une boîte de dialogue qui vous aidera à définir des attributs individuels.
Cette option s'applique au nom de fichier qui la précède immédiatement et à tous les noms de fichiers suivants jusqu'au nom de fichier précédant l' option /A ou /Bsuivante .
| /C | Copier les fichiers uniquement si le fichier de destination existe et est plus ancien que le fichier source (voir également /U) . Cette option est utile pour mettre à jour les fichiers d'un répertoire à partir de ceux d'un autre répertoire sans copier les fichiers qui ne se trouvent pas déjà dans le répertoire cible. Avant d'utiliser /C dans un environnement réseau, lisez attentivement la note relative à /U. N'utilisez pas /C avec les listes @fichiers. Voir les listes @fichiers pour plus de détails. |
| /CF | Copie des fichiers uniquement si le fichier de destination existe et est antérieur de plus de 2 secondes au fichier source (voir également /C et /UF). N'utilisez pas /CF avec les listes @file. Voir les listes @fichiers pour plus de détails. |
type - Le type de CRC à créer. Les types possibles sont
MD5
CRC32
SHA1
SHA256
SHA384
SHA512
filename - Le fichier qui contient le CRC et les noms de fichiers (un par ligne).
| /G | Affiche le pourcentage copié, le taux de transfert (en Ko/seconde) et le temps restant estimé. Utile lors de la copie de fichiers volumineux sur un réseau ou via FTP / HTTP pour s'assurer que la copie se poursuit. Lorsque /V est également utilisé, il indique le pourcentage vérifié. |
| /GZ | Lors de la copie vers une cible HTTP / HTTPS, COPY compresse le fichier à l'aide de gzip avant de le télécharger. |
| /I"text" | (Correspondance des descriptions) Sélectionner les fichiers source en faisant correspondre le texte de leur description . Pour plus d'informations, reportez-vous à la section Plages de description. |
| /LD | Lorsqu'il est utilisé avec /S, si la source est un lien symbolique ou matériel vers un répertoire, COPY crée le lien dans le répertoire cible au lieu de copier l'arborescence du sous-répertoire. |
| /M | Copier uniquement les fichiers dont l'attribut archive est défini, c'est-à-dire ceux qui ont été modifiés depuis la dernière sauvegarde . L'attribut archive du fichier sourcene sera pas effacé après la copie ; pour l'effacer, utilisez le commutateur /X ou ATTRIB. N'utilisez pas /M avec les listes @file. Voir les listes @fichier pour plus de détails. |
| /N | Tout faire sauf exécuter la copie. Cette option est utile pour tester le résultat d'une commande COPY complexe. /N indique le nombre de fichiers à copier. |
Un /N avec un ou plusieurs des arguments suivants a une autre signification :
| d | Ignorer les répertoires cachés (utilisé avec /S) |
| e | Ne pas afficher les erreurs. |
| j | Sauter les jonctions (utilisé avec /S) |
| n | Ne pas copier/mettre à jour les descriptions de fichiers |
| r | Unecopie /W effacera le fichier dans la corbeille (à moins que le fichier ne corresponde à la variable d'environnement RECYCLEEXCLUDE). |
| s | N'affiche pas le résumé. |
| t | Ne pas mettre à jour la base de données de recherche de répertoires étendus CD / CDD (JPSTREE.IDX). |
| z | Ignorer les répertoires système (si utilisé avec /S) |
Vous pouvez utiliser n'importe quelle combinaison des options de tri ci-dessous. Si plusieurs options sont utilisées, la liste sera triée avec la première option de tri comme clé primaire, la suivante comme clé secondaire, et ainsi de suite :
| n | Trier par nom de fichier et extension, sauf si e est explicitement inclus. |
| - | Inverse l'ordre de tri pour la clé de tri suivante. |
| a | Trier les noms et les extensions dans l'ordre ASCII standard, plutôt que numériquement lorsque des sous-chaînes numériques sont incluses dans le nom ou l'extension. |
| c | Trier par taux de compression |
| d | Tri par date et heure (la plus ancienne en premier) ; voir aussi /T:acw |
| e | Tri par extension |
| g | Regroupement des sous-répertoires d'abord, puis des fichiers |
| i | Tri par description |
| o | Trier par propriétaire |
| r | Inverser l'ordre de tri pour toutes les options |
| s | Trier par taille |
| t | Identique à d |
| u | Non trié |
| z | Identique à s |
L'option /O :... enregistre tous les noms de fichiers correspondants, puis effectue la copie. Cela évite le problème potentiel de copier les fichiers plus d'une fois.
| /P | Demande à l'utilisateur de confirmer chaque fichier source. Les options disponibles à l'invite sont expliquées en détail dans les rubriques Page et Invites de fichiers. Remarque : l' option de configuration Copy Prompt on Overwrite peut être utilisée pour forcer l'invite sur la ligne de commande uniquement. Voir aussi : l' option /Q ci-dessous. |
| /Q | N'affiche pas les noms de fichiers, le pourcentage copié, le nombre total de fichiers copiés, etc. Lorsqu'elle est utilisée en combinaison avec l' option /P ci-dessus, elle demandera les noms de fichiers mais n'affichera pas les totaux. Cette option est le plus souvent utilisée dans les fichiers batch. Voir aussi /T. |
| /R | Demander à l'utilisateur d'écraser un fichier existant. Les options disponibles à l'invite sont expliquées en détail dans les rubriques Page et File Prompts (Invites de page et de fichier). Voir aussi : l' option de configuration Copy Prompt on Overwrite. (Pour des raisons de compatibilité avec CMD, l'option /Y de la ligne de commande est remplacée par /R). |
| /S | Copier l'arborescence des sous-répertoires en commençant par les fichiers du répertoire source et chaque sous-répertoire en dessous. La destination doit être un répertoire ; s'il n'existe pas, COPY tentera de le créer. COPY tentera également de créer les sous-répertoires nécessaires dans l'arborescence en dessous de la destination, y compris les répertoires source vides . Si COPY /S crée un ou plusieurs répertoires de destination, ceux-ci seront automatiquement ajoutés à la base de données de recherche de répertoires étendue. |
Si vous tentez d'utiliser COPY /S pour copier une arborescence de sous-répertoires dans une partie d'elle-même, COPY détectera la boucle infinie qui en résultera, affichera un message d'erreur et sortira. N'utilisez pas /S avec les listes @fichier. Voir les listes @fichier pour plus de détails.
Si vous spécifiez un nombre après le /S, COPY limitera la récursivité des sous-répertoires à ce nombre . Par exemple, si vous avez une arborescence de répertoires "a", " b" et "c", /S2 n'affectera que les répertoires "a", "b" et "c".
Si vous spécifiez un + suivi d'un nombre après le /S, COPY ne copiera aucun fichier avant d'avoir atteint cette profondeur dans l'arborescence des sous-répertoires . Par exemple, si vous avez une arborescence de répertoires \a\b\c\d\e, /S+2 ne copiera rien dans \a ou \a\b.
copy /sx c:\files\*.exe d:\exefiles\
| /T | Désactive l'affichage des noms de fichiers, comme /Q, mais affiche le nombre total de fichiers copiés. |
| /U | Copier chaque fichier source uniquement s'il est plus récent que le fichier de destination correspondant ou si le fichier de destination correspondant n'existe pas (voir également /C) . Cette option est utile pour maintenir un répertoire correspondant à un autre avec un minimum de copies. N'utilisez pas /U avec les listes @fichiers. Voir les listes @fichiers pour plus de détails. Lorsqu'elle est utilisée avec des systèmes de fichiers qui ont des résolutions temporelles différentes (comme FAT et NTFS), /Utentera d'utiliser la résolution la plus "grossière" des deux. |
| /UF | Copier chaque fichier source uniquement s'il est plus récent de plus de 2 secondes que le fichier de destination correspondant ou si le fichier de destination correspondant n'existe pas (voir également /CF et /U) . N'utilisez pas /UF avec les listes @file. Voir les listes @fichiers pour plus de détails. |
/WAIT=n Pause den millisecondes entre chaque bloc copié de la source vers le fichier cible. Ceci est utile pour les utilisateurs ayant des réseaux lents et des copies de fichiers très volumineux ; cela empêche COPY de monopoliser toutes les entrées/sorties du réseau.
| /Y | Si l ' option COPY Prompt on Overwrite est activée, vous pouvez supprimer l'invite avec /Y. |
| /Z | Écraser les fichiers de destination sans tenir compte de leurs attributs. Sans cette option, COPY échouera avec une "Erreur d'accès refusé" si le fichier de destination a son attribut lecture seule défini, ou (en fonction d'autres options) son attribut caché ou système défini. Nécessaire pour écraser les cibles en lecture seule, quelles que soient les autres options. Nécessaire pour écraser les cibles cachées ou système, sauf si la source possède également l'attribut et que /H ou /A : est utilisé pour le sélectionner. |