Créer plusieurs dossiers en même temps avec Windows

Catégorie < windows >

1FORMATIK.com
Espace ~public
© 1998 - 2024

Sommaire

  • Principe de fonctionnement pour créer plusieurs dossiers
  • Code source du script BAT
  • Gestion de l'encodage des caractères des noms de dossiers
  • Vidéo explicative YouTube

Information

Rédigé par Antoine
Publié le 2023-11-29
Modifié le 2023-11-29
3015 affichages
9 likes
0 non-like

Principe de fonctionnement pour créer plusieurs dossiers

Il n'existe pas de solution clef en main dans Windows pour créer plusieurs dossiers en même temps, et cela de manière automatisée. On peut en outre facilement coder un petit script batch pour créer plusieurs dossiers et sous-dossiers Windows en même temps. Voici comment procéder.

Il va falloir créer deux fichiers :

  • Un fichier texte .TXT que l'on nomme structure.txt.
  • Un fichier batch .BAT que l'on nomme script.bat.

Le fichier structure.txt contient l'arborescence de dossiers et sous-dossiers, dont voici à titre d'exemple un contenu :

Dossier 001
Dossier 002
Dossier 003\Sous Dossier 003-001
Dossier 003\Sous Dossier 003-002

Pour créer ce fichier, procédez comme suit :

  • Effectuez un clic droit sur votre bureau.
  • Choisissez Nouveau puis Document texte.
  • Nommez ensuite le fichier structure.txt.

Le fichier script.bat quant à lui sert à créer tous les dossiers en même temps ; son code source est explicité ci-après.

Vidéo illustrative via YouTube

Code source du script BAT

Le script ci-dessous prend chaque ligne d'un fichier texte structure.txt et crée un répertoire avec le nom de chaque ligne. Il permet ainsi de créer une structure de répertoires à partir d'une liste préétablie.

@echo off
chcp 65001>nul
for /f "tokens=*" %%x in (structure.txt) do (mkdir "%%x")

Voici une explication ligne par ligne :

  • @echo off : Cette commande désactive l'affichage des commandes elles-mêmes lors de l'exécution du script. Cela rend l'exécution du script plus propre en évitant d'afficher chaque commande à l'écran.
  • chcp 65001>nul : Cela configure la page de code à 65001, qui est l'encodage UTF-8, pour permettre la manipulation de caractères spéciaux. Le >nul redirige la sortie de cette commande pour éviter d'afficher des informations inutiles.
  • for /f "tokens=*" %%x in (structure.txt) do (mkdir "%%x") : Cette ligne parcourt chaque ligne du fichier structure.txt et crée un répertoire avec le nom correspondant à chaque ligne.
    • for /f : C'est une boucle qui parcourt un fichier texte.
    • "tokens=*" : Cela signifie que la totalité de chaque ligne est traitée comme un seul élément (pas de séparation en tokens).
    • %%x : C'est une variable qui stocke chaque ligne du fichier pendant l'itération.
    • in (structure.txt) : Spécifie le fichier à parcourir (dans notre cas, structure.txt).
    • do (mkdir "%%x") : Pour chaque ligne du fichier, cette partie crée un répertoire avec le nom de la ligne. La commande mkdir est utilisée pour créer un répertoire, et "%%x" est la variable qui contient le nom du répertoire.

Gestion de l'encodage des caractères des noms de dossiers

Si les dossiers que vous allez créer contiennent des accents, vous devez adapter le numéro d'encodage à celui de votre fichiers structure.txt.

Pour identifier l'encodage que vous utilisez (généralement ANSI sur Windows), je vous conseille d'ouvrir le fichier structure.txt avec le logiciel gratuit Notepad++ (lien externe).

Si les noms des dossiers ou des sous-dossiers contiennent des accents, il vous faudra donc utiliser la commande chcp, avec le code 65001, si votre fichier txt est en UTF8 ; ou le code 1251 s'il est en ANSI cyrillique.

Vous trouverez la liste de tous les codes via cette page (lien externe) du site de Microsoft.

Cliquez sur le lien ci-contre pour télécharger le fichier archive au format ZIP, il contient les fichiers suivants :

  • Fichier stucuture structure.txt.
  • Fichier script script.bat.
  • Fichier information 1formatik.txt.

Ce contenu vous a-t-il été utile ?