Script Batch pour la Gestion Automatisée des Répertoires

Dans cet article, je vous partage un script batch que nous avons créé en classe pour effectuer des opérations automatiques sur des répertoires. Ce script utilise des commandes simples mais puissantes pour afficher et gérer des fichiers listés dans un fichier texte.

Voici le script en question :

@echo off
:: Désactive l'affichage des commandes dans la console.

echo Liste des fichiers dans le répertoire
type repertoire.txt
:: Affiche le contenu du fichier texte "repertoire.txt".

pause
:: Met en pause le script pour permettre à l'utilisateur de lire le contenu.

echo Résultat de la boucle FOR
for /f %%a in (repertoire.txt) do dir %homedrive%\%%a
:: Parcourt chaque ligne du fichier "repertoire.txt" et affiche le contenu du répertoire correspondant.

:: Décommenter la ligne ci-dessous pour activer la copie des fichiers.
:: for /f %%a in (repertoire.txt) do xcopy %homedrive%\%%a\* f:\testcopie\%%a /s /e /y
:: Copie les fichiers et sous-dossiers des répertoires listés vers "f:\testcopie".

pause
:: Met en pause le script avant de fermer la console.

Fonctionnement du Script

  1. Lecture d’un fichier texte :
    Le script commence par lire un fichier nommé repertoire.txt. Ce fichier contient la liste des chemins de répertoires relatifs, par exemple :

    Users\VotreNomUtilisateur\Documents\Projets
    Users\VotreNomUtilisateur\Images\Travail

    Assurez-vous que chaque chemin est valide et que vous avez les droits nécessaires pour accéder à ces dossiers.

  2. Affichage des informations :
    La commande dir est utilisée pour afficher le contenu des répertoires spécifiés dans repertoire.txt. Cette étape est idéale pour vérifier que les chemins sont corrects.

  3. (Optionnel) Copie des fichiers :
    Une ligne commentée permet de copier les fichiers et sous-dossiers vers une destination, ici f:\testcopie. Si vous souhaitez activer cette fonctionnalité, décommentez la ligne et ajustez le chemin de destination.


Explication des Commandes Clés

  • @echo off : Cache les commandes exécutées pour rendre l'affichage plus propre.

  • type : Affiche le contenu du fichier texte dans la console.

  • pause : Met le script en attente jusqu'à ce qu'une touche soit pressée.

  • for /f %%a in (fichier) : Parcourt chaque ligne du fichier texte spécifié (ici repertoire.txt) et attribue chaque ligne à la variable %%a.

  • dir : Liste le contenu des répertoires.

  • xcopy : Permet de copier les fichiers et dossiers de manière récursive, avec des options pour inclure les sous-dossiers (/s et /e) et remplacer les fichiers existants sans demander confirmation (/y).


Exemple avec un Contenu Réel

Supposons que le fichier repertoire.txt contient les lignes suivantes :

Users\Olivier\Documents\Travaux
Users\Olivier\Images\Projets

Lorsque le script est exécuté, il affichera le contenu des répertoires suivants (en supposant que %homedrive% est C:) :

  • C:\Users\Olivier\Documents\Travaux

  • C:\Users\Olivier\Images\Projets

Si la ligne pour la copie est activée, les fichiers seront copiés dans le dossier f:\testcopie tout en respectant la structure des sous-dossiers.


Points à Vérifier Avant d’Exécuter

  1. Chemins dans repertoire.txt : Assurez-vous qu’ils sont corrects et accessibles.

  2. Droits d’accès : Exécutez la console avec des privilèges suffisants si nécessaire.

  3. Destination de la copie (f:\testcopie) : Vérifiez que ce dossier existe ou qu’il peut être créé.


Utilisations Pratiques

  • Sauvegarde automatique de répertoires importants.

  • Liste et gestion de projets dans plusieurs répertoires.

  • Préparation à des tâches d’administration système (comme des sauvegardes réseau).

Ce script simple est une excellente introduction aux possibilités offertes par les scripts batch pour automatiser vos tâches quotidiennes.

Date

29/12/2024

Catégorie

Auteur

Olivier

Commentaires

Aucun commentaire pour le moment.

Ajouter un commentaire