Comment copier un fichier dans plusieurs dossiers sous Windows 10
Le glisser-déposer représente une méthode pratique pour la duplication ou le déplacement de fichiers et de répertoires. Pour dupliquer un fichier dans plusieurs répertoires, il est possible de maintenir la touche Ctrl enfoncée tout en faisant glisser le fichier ou le répertoire vers chaque dossier cible. Toutefois, cette méthode peut s'avérer chronophage, car elle nécessite de déposer le fichier individuellement dans chaque répertoire souhaité. Pour pallier cet inconvénient, particulièrement lorsque le nombre de répertoires est élevé, l'utilisation d'un script de commandes peut s'avérer très efficace en réalisant l'opération en une seule étape.
Si la nécessité est de copier plusieurs fichiers au sein d'un même répertoire, une astuce simple permet d'effectuer l'envoi de fichiers vers un dossier directement depuis le menu contextuel.
Dupliquer un fichier vers plusieurs répertoires
Ce script batch présente une contrainte : les répertoires de destination doivent se trouver au sein du même répertoire parent. Il ne sera pas fonctionnel si ces répertoires sont dispersés à des emplacements différents.
Ouvrez le Bloc-notes, puis copiez-y le code suivant. Ce script nécessitera quelques ajustements avant d'être sauvegardé.
@echo off
for /D %%a in ("chemin-du-repertoire*.*") do xcopy /y /d chemin-du-fichier.extension "%%a"
La première modification à effectuer concerne le "chemin-du-repertoire*.*". Remplacez-le par le chemin d'accès au répertoire contenant les autres répertoires. Par exemple, si vous avez un répertoire nommé Jeux et qu'il contient trois autres répertoires nommés 1, 2 et 3, vous devrez entrer le chemin complet du répertoire Jeux. Conservez le *. * à la fin, ainsi que les crochets et les guillemets.
La deuxième modification concerne "chemin-du-fichier.extension". Remplacez-le par le chemin d'accès complet du fichier que vous souhaitez dupliquer dans les autres répertoires, en incluant le nom du fichier et son extension. Si le chemin ou le nom du fichier contient des espaces, il est impératif de l'encadrer de guillemets.
Enregistrez ce fichier Bloc-notes avec l'extension .BAT et lancez-le. Le fichier sera alors copié dans tous les sous-répertoires concernés.
Exemple
Voici à quoi ressemble le code modifié pour la copie d'un fichier nommé MonFichier.txt localisé dans C:\Users\utilisateur\Bureau\Test vers l'ensemble des sous-répertoires du répertoire C:\Users\utilisateur\Bureau\NouveauRepertoire.
@echo off
for /D %%a in ("C:\Users\utilisateur\Bureau\NouveauRepertoire\*.*") do xcopy /y /d C:\Users\utilisateur\Bureau\Test\MonFichier.txt "%%a"
Si vous ne souhaitez pas recourir à un script batch, il est possible d'utiliser ce même code, avec de légères modifications, directement dans l'invite de commande. Le code adapté sera le suivant :
for /D %a in ("c:\chemin-du-repertoire\*.*") do xcopy /y /d c:\fichier-test.extension "%a"
Les ajustements effectués consistent à supprimer "@echo off" et l'un des signes %. Il reste nécessaire de modifier la commande en précisant les chemins d'accès du fichier et des répertoires. L'avantage de l'invite de commande est qu'elle permet de visualiser la progression de l'opération.
