HOWTO · Batch
XCOPY Remplacer par lot
Ce tutoriel explique comment utiliser XCOPY par lot pour écraser les fichiers existants, notamment comment écraser tous les fichiers sans invite.
Sur cette page
Xcopy est un utilitaire en ligne de commande utilisé pour copier un ou plusieurs fichiers ou répertoires, y compris les sous-répertoires, d’un emplacement à un autre. Il est similaire à la commande copy, mais plus puissant, car il peut copier des répertoires entiers d’un emplacement à un autre.
Il est suffisamment puissant pour copier même des lecteurs. Xcopy est une commande rapide qui peut copier des fichiers et des dossiers, écraser les fichiers existants avec ou sans invite, exclure des fichiers selon le nom, le chemin ou l’extension, identifier les fichiers mis à jour, etc.
Il est pris en charge dans presque toutes les versions de Windows à partir de Windows 98. Il peut être utilisé comme une commande DOS pour utiliser xcopy dans MS-DOS.
La syntaxe de la commande xcopy est :
xcopy source [destination] [switches]
source- emplacement et noms des fichiers à copier. Elle doit inclure le lecteur et le chemin des fichiers ou répertoires.destination- la destination des fichiers à copier. Il peut s’agir d’un lecteur, d’un répertoire ou d’un nom de fichier.switches- options fournies par la commandexcopy. Elles peuvent être consultées en exécutantxcopy /?dans la fenêtre d’invite de commandes.
Il existe plusieurs autres commandes similaires à xcopy, certaines encore plus puissantes, telles que robocopy, rsync, teracopy, etc. Mais nous nous en tiendrons à xcopy dans cet article.
Ce tutoriel expliquera comment écraser tous les fichiers dans la destination sans invite lors de la copie de fichiers à l’aide de la commande xcopy.
Copier des fichiers dans un nouveau dossier par lot
Pour copier des fichiers d’un emplacement à un autre, exécutez la commande suivante.
xcopy C:\testfolder D:\testfolder /i /s
/s- copie les répertoires, les sous-répertoires et les fichiers dans le dossier à copier, à moins qu’ils ne soient vides./i- forcexcopyà supposer que la destination est un répertoire et crée un nouveau répertoire. Vous serez invité à indiquer si la destination est un fichier ou un répertoire s’il n’est pas utilisé.
Pour copier uniquement l’arborescence des répertoires et non les fichiers, c’est-à-dire la structure des répertoires, exécutez la commande suivante.
xcopy C:\testfolder D:\testfolder /t /e
/t- copie la structure des répertoires sans les fichiers./e- copie tous les sous-répertoires, même s’ils sont vides. Il est utilisé avec les options/tet/s.
Sortie :
Comme indiqué ci-dessus, seul le répertoire est copié et non les fichiers.
Copier des fichiers en écrasant les fichiers existants par lot
Pour écraser les fichiers existants pendant la copie, exécutez la commande suivante.
xcopy C:\testfolder D:\testfolder /i /s
Lorsque la destination contient déjà un fichier portant le même nom, xcopy s’arrête et demande ce qu’il faut faire de ce fichier :
Overwrite D:\testfolder\MyFile.txt (Yes/No/All)?
Comme le montre l’image ci-dessus, il demande s’il faut écraser le fichier existant ou tous les fichiers. Répondre All applique également l’écrasement à chaque fichier restant. Lorsque nous copions de nombreux fichiers par-dessus des fichiers existants sans répondre All, une invite s’affichera pour chaque fichier portant le même nom.
Il est trop long de confirmer cela pour chaque fichier. Pour éviter cela, nous devons utiliser l’option /y avec la commande ci-dessus.
Copier des fichiers en écrasant tous les fichiers sans invite par lot
Exécutez la commande suivante pour copier des fichiers sans invite de confirmation d’écrasement des fichiers existants.
xcopy C:\testfolder D:\testfolder /i /s /y
/y - supprime l’invite qui confirme s’il faut ou non écraser les fichiers existants dans la destination, de sorte que chaque fichier existant est écrasé automatiquement.
Copier des fichiers sur un réseau par lot
xcopy C:\Videos "\\server\media\videos" /s /i /z /w
/s- copie les répertoires, les sous-répertoires et les fichiers dans le dossier à copier, à moins qu’ils ne soient vides./i- forcexcopyà supposer que la destination est un répertoire et crée un nouveau répertoire. Vous serez invité à indiquer si la destination est un fichier ou un répertoire s’il n’est pas utilisé./z- copie les fichiers sur un réseau en mode redémarrable, c’est-à-dire que si la connexion est perdue pendant la copie d’un fichier, la copie de ce fichier reprend lorsque la connexion est rétablie. Il affiche également le pourcentage d’achèvement./w- affiche le messagePress any key to begin copying file(s)et attend votre réponse avant le début du processus de copie.
Ainsi, nous avons vu comment écraser tous les fichiers existants sans afficher d’invite lors de la copie de nombreux fichiers, c’est-à-dire qu’il écrase tous les fichiers sans afficher d’invite pour chaque fichier.
Il existe de nombreuses autres options fournies par la commande xcopy ; vous pouvez les consulter en exécutant xcopy /? dans l’invite de commandes. Notez que Microsoft a déprécié xcopy et recommande robocopy pour les nouveaux scripts sur les versions actuelles de Windows, mais xcopy reste disponible et largement utilisé dans les fichiers batch existants.