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
-
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.
-
Affichage des informations :
La commandedir
est utilisée pour afficher le contenu des répertoires spécifiés dansrepertoire.txt
. Cette étape est idéale pour vérifier que les chemins sont corrects. -
(Optionnel) Copie des fichiers :
Une ligne commentée permet de copier les fichiers et sous-dossiers vers une destination, icif:\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é (icirepertoire.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
-
Chemins dans
repertoire.txt
: Assurez-vous qu’ils sont corrects et accessibles. -
Droits d’accès : Exécutez la console avec des privilèges suffisants si nécessaire.
-
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/2024Catégorie
Auteur
OlivierCommentaires
Aucun commentaire pour le moment.