Section courante

A propos

Section administrative du site

COPY

Copie
MSX-DOS 1

Syntaxe

COPY /A /B SourceDevice:SourceFilename + SourceDevice:SourceFilename... DestinationDevice:DestinationFilename Version 1
COPY /A /B SourceDevice:Filename DestinationDevice Version 1
COPY /A /B SourceDevice DestinationDevice Version 1
COPY /A /B SourceDevice Filename Version 1
COPY /S /H /P /A /B /V /T SourceDevice:\Path\SourceFilename + SourceFilename... DestinationDevice:\Path\ Version 2
COPY /S /H /P /A /B /V /T SourceDevice:Filename DestinationDevice Version 2
COPY /S /H /P /A /B /V /T SourceDevice DestinationDevice Version 2
COPY /S /H /P /A /B /V /T SourceDevice Filename Version 2

Paramètres

Nom Description
SourceDevice Ce paramètre permet d'indiquer le nom de périphérique utilisé comme source. Il peut s'agir de l'unité de disque, spécifiés par une lettre suivie du caractère «:», mais aussi de périphériques dont les noms ne sont pas suivis du caractère «:» (par exemple, un périphérique série RS-232 si vous utilisez AUX). Si vous ne spécifiez pas le périphérique source, l'ordinateur utilisera l'unité de disque actuellement actif comme source (par défaut, c'est l'unité de disque A:).
DestinationDevice Ce paramètre permet d'indiquer le nom de périphérique utilisé comme destination. Il peut s'agir de l'unité de disque, spécifiés par une lettre suivie du caractère «:», mais aussi de périphériques dont les noms ne sont pas suivis du caractère «:» (par exemple, un périphérique série RS-232 si vous utilisez AUX). Si vous ne spécifiez pas le périphérique de destination, l'ordinateur utilisera l'unité de disque actuellement actif comme destination (par défaut, c'est l'unité de disque A:).
Path Ce paramètre permet d'indiquer l'emplacement dans les dossiers du fichier à utiliser dans l'opération de copie. Chaque nom de dossier dans le chemin est séparé par une barre oblique inverse (\). Ce paramètre n'est disponible que sous MSX-DOS 2/Nextor et permet de copier tous les fichiers du répertoire actif en cours (dans ce cas, le paramètre SourceFileName n'est pas utilisé).
SourceFilename Ce paramètre permet d'indiquer le nom du fichier à utiliser comme source dans l'opération de copie. Les caractères génériques peuvent remplacer certains caractères dans le nom de fichier pour obtenir plusieurs fichiers. L'astérisque (*) et le point d'interrogation (?) sont utilisés comme caractères génériques. L'astérisque correspond à n'importe quelle séquence de caractères, tandis que le point d'interrogation correspond à n'importe quel caractère unique.
DestinationFilename Ce paramètre ne peut être utilisé que sous MSX-DOS 1 comme nom de fichier à utiliser comme destination, notamment dans une opération de fusion (concaténation) ou simplement parce que vous avez besoin d'utiliser un autre nom de fichier. Lorsqu'un nom de fichier de destination n'est pas spécifié, le premier nom de fichier source mentionné sera utilisé comme nom de fichier de destination. Si vous êtes sous MSX-DOS 2 / Nextor, vous devez utiliser CONCAT pour effectuer ces opérations. Les noms de fichiers sont au format 8 caractères suivis d'un point et d'une extension à 3 caractères. Le nom du fichier de destination sous MSX-DOS 1 ne peut pas déjà être utilisé pour un autre fichier sur le disque inséré dans l'unité de disque spécifié.
/S Ce paramètre permet d'accepter les fichiers système dans l'opération de copie. Ce paramètre est disponible uniquement depuis COMMAND2.COM 2.40.
/H Ce paramètre permet d'accepter les fichiers cachés dans l'opération de copie. Ce paramètre n'est disponible que sous MSX-DOS 2 / Nextor.
/P Ce paramètre permet de laisser une pause en fin d'écran lors de l'affichage des messages d'erreur des fichiers non copiables (par exemple : un fichier ne peut pas être copié sur lui-même, plusieurs fichiers ne peuvent pas être copiés sur un seul fichier sous MSX-DOS 2 / Nextor). Ce paramètre n'est disponible que sous MSX-DOS 2 / Nextor.
/A Ce paramètre permet d'effectuer l'opération de copie en mode ASCII. Les fichiers source sont lus jusqu'au premier caractère de fin de fichier (CTRL+Z) et un seul caractère de fin de fichier est ajouté à la destination une fois que toutes les données ont été écrites. Ce paramètre peut être donné globalement (au début de la commande) ou séparément pour tout fichier source et fichier destination. Sous MSX-DOS 1, ce paramètre continue d'être appliqué aux fichiers mentionnés ensuite jusqu'à ce que le paramètre /B soit utilisé.
/B Ce paramètre permet d'effectuer l'opération de copie en mode binaire. Aucune interprétation n'est donnée aux données lues et aucune donnée supplémentaire n'est ajoutée. Ce paramètre peut être donné globalement (au début de la commande) ou séparément pour tout fichier source et fichier destination. Sous MSX-DOS 1, ce paramètre continue d'être appliqué aux fichiers mentionnés ensuite jusqu'à ce que le paramètre /A soit utilisé.
/V Ce paramètre permet d'activer la vérification d'écriture pendant la durée de la commande COPY (voir la commande VERIFY). Cela garantira que les données sont écrites correctement sur les disques si le pilote de périphérique utilisé dispose de cette fonctionnalité, mais ralentira l'opération pour la vérification. Ce paramètre n'est disponible que sous MSX-DOS 2 / Nextor.
/T Ce paramètre permet d'utiliser la date et l'heure actuelles pour les fichiers de destination au lieu de l'heure et de l'heure des fichiers source. Ce paramètre n'est disponible que sous MSX-DOS 2 / Nextor.

Description

Cette commande permet de copier les données de fichiers ou des périphériques vers d'autres fichiers ou périphériques.

Concept préliminaire

COPY lira autant de fichiers source que possible dans la mémoire avant d'en écrire. Lorsqu'il ne peut plus lire en mémoire (par exemple lorsqu'il a utilisé toute la mémoire disponible), il écrit chaque fichier dans l'ordre dans lequel il a lu l'élément. Lorsqu'il crée chaque fichier de destination, il affiche le nom du fichier source. Ensuite, s'il est incapable de créer le fichier de destination, un message d'erreur est imprimé et l'opération de copie se poursuit avec le fichier suivant. /P peut être donné pour faire une pause de sortie à la fin de l'écran.

De nombreuses raisons existent pour que COPY soit incapable de créer la destination, comme un fichier en lecture seule existant déjà avec le même nom. Parfois, COPY refusera de créer la destination car l'utilisateur peut avoir fait une erreur. Par exemple, un fichier ne peut pas être copié dans lui-même ou plusieurs fichiers ne peuvent pas être copiés dans un seul fichier. Une erreur «Cannot create destination» peut être générée si la destination d'un fichier supprime un fichier source précédent ou un fichier déjà utilisé pour autre chose (par exemple, le fichier de traitement par lots en cours d'exécution). Une erreur «Cannot overwrite previous destination file» se produit si une tentative est faite pour copier plusieurs fichiers dans un seul fichier. Cela signifie généralement que la destination prévue était un répertoire, mais que le nom a été mal orthographié.

Si /A est spécifié, une copie ASCII est effectuée. Cela signifie que les fichiers source ne seront lus que jusqu'au premier caractère de fin de fichier (EOF) (CTRL+Z), puis chaque destination aura un seul caractère de fin de fichier ajouté.

Il est également possible de donner un /A à la destination ou à l'une des spécifications de fichier dans la spécification de fichier composée séparément, auquel cas cela ne s'applique qu'à cette spécification de source ou de destination.

L'option /B peut être donnée pour copier en mode binaire, c'est-à-dire que le fichier en cours de lecture sera copié tel quel et qu'aucune donnée ne sera ajoutée.

L'option /V peut être donnée pour activer la vérification en écriture pendant la durée de la commande COPY (voir la commande VERIFY). Cela garantira que les données sont écrites correctement sur les disques si le pilote de périphérique utilisé dispose de cette fonctionnalité, mais cela ralentira l'opération.

Normalement, les fichiers de destination reçoivent la même date et heure que les fichiers source. Cependant, l'option /T peut être donnée pour que les fichiers de destination aient la date et l'heure actuelles. Les fichiers de destination ne seront pas masqués ou en lecture seulement, quels que soient les attributs des fichiers source. La commande ATTRIB peut être utilisée pour les modifier.

Si COPY donne une erreur «Not enough memory», alors probablement réduire le nombre de tampons (voir la commande BUFFERS) ou supprimer certains éléments de l'environnement libérera suffisamment d'espace de travail.

Notez que la commande COPY est plus simple que MS-DOS et MSX-DOS 1 car elle ne peut pas concaténer (joindre) des fichiers. Pour cela, une commande CONCAT est disponible (voir la commande CONCAT).

Exemples

Le fichier FILE1 est copié du répertoire courant de l'unité de disque courant vers le répertoire courant de l'unité de disque B:

COPY FILE1 B:

Dans l'exemple suivant, les deux fichiers cachés MSXDOS2.SYS et COMMAND2.COM sont copiés sur l'unité de disque B:, ce qui en fait un disque de démarrage :

COPY /H MSXDOS2.SYS + COMMAND2.COM B:

Tous les fichiers du répertoire DIR1 à partir de la racine de l'unité de disque A: sont copiés dans un répertoire similaire sur l'unité de disque B: avec vérification pour vous assurer que les fichiers ont été écrits correctement :

COPY A:\DIR1 B:\DIR1 /V

Tous les fichiers du répertoire courant à partir de l'unité de disque A: sont copiés dans le répertoire courant de l'unité de disque courant :

COPY B:

Les caractères sont lus depuis le périphérique AUX (pouvant être utilisé pour la série RS232 par exemple) vers le périphérique CON, étant l'écran. La copie se fait jusqu'au premier caractère de fin de fichier. Si /A n'a pas été donné, il se peut qu'il n'y ait eu aucun moyen d'arrêter l'opération COPY sans appuyer sur la touche CTRL+STOP :

COPY /A AUX CON

Tous les fichiers correspondant à *.DOC (par exemple FILE1.DOC, FILE2.DOC et FILE3.DOC) sont copiés dans le répertoire actuel de l'unité de disque B: et reçoivent la date et l'heure actuelles au lieu des dates et heures du *.DOC des dossiers :

COPY A:*.DOC B:/T

Cette commande a dit à COPY de copier tous les fichiers correspondant à *.BAT (dans ce cas AUTOEXEC.BAT et REBOOT.BAT) du répertoire actuel de l'unité de disque actuel au même endroit, et COPY affichera le message pour avertir. Aucune donnée dans ce cas n'a été réellement copiée :

COPY *.BAT

on obtiendra un résultat ressemblant à ceci :

AUTOEXEC.BAT -- File cannot be copied onto itself
REBOOT.BAT -- File cannot be copied onto itself

Cette commande a dit à COPY de copier tous les fichiers correspondant à *.BAT (dans ce cas AUTOEXEC.BAT et REBOOT.BAT) dans un répertoire appelé DIR2. DIR2, cependant, n'existait pas donc AUTOEXEC.BAT a été copié dans un fichier appelé DIR2, puis une tentative a été faite pour copier REBOOT.BAT également dans un fichier appelé DIR2. Le message a été affiché comme un avertissement qu'une erreur a probablement été commise (dans le cas où DIR2 n'existe pas). REBOOT.BAT n'a été copié nulle part.

COPY *.BAT DIR2

on obtiendra un résultat ressemblant à ceci :

AUTOEXEC.BAT
REBOOT.BAT -- Cannot overwrite previous destination file


Dernière mise à jour : Dimanche, le 17 Juillet 2022