Le scripting (batch)
Les fichiers de commande (.bat) sous Windows
Les fichiers de commandes sous Windows, aussi appelés fichiers batch (fichiers .bat), sont des scripts contenant une série de commandes exécutées séquentiellement par l'interpréteur de commandes de Windows (Command Prompt ou cmd.exe). Ces fichiers permettent d'automatiser des tâches répétitives, d'exécuter plusieurs commandes à la suite et de configurer des processus système de manière efficace.
Qu’est-ce qu’un fichier batch (.bat) ?
Un fichier batch est simplement un fichier texte contenant une liste de commandes. Lorsqu'il est exécuté, le fichier batch envoie ces commandes à l'interpréteur de commandes de Windows, qui les exécute dans l'ordre. Le fichier batch porte l'extension .bat ou .cmd et peut être créé à l'aide d'un simple éditeur de texte, comme le Bloc-notes.
Pourquoi utiliser des fichiers batch ?
Automatisation: Un fichier batch permet d'exécuter des commandes répétitives ou des tâches planifiées sans avoir à les taper manuellement à chaque fois.
Administration système: Les administrateurs peuvent utiliser des fichiers batch pour exécuter des scripts de gestion, de configuration ou de maintenance sur plusieurs machines.
Simplification: Plutôt que d'exécuter une série de commandes manuellement dans l’invite de commande, un fichier batch permet de les exécuter en une seule fois.
Structure d’un fichier batch
Un fichier batch est constitué d'une série de commandes système standard. Voici un exemple simple de fichier batch :
@echo off: Cette commande désactive l'affichage des commandes dans la fenêtre. Seuls les résultats des commandes s'affichent.
echo: Affiche du texte dans la fenêtre de commandes.
cd: Change le répertoire de travail.
dir: Affiche la liste des fichiers dans le répertoire courant.
pause: Suspend l'exécution du fichier batch et attend que l'utilisateur appuie sur une touche pour continuer.
Création d’un fichier batch
Ouvrez le Bloc-notes (ou tout autre éditeur de texte simple).
Tapez les commandes que vous souhaitez exécuter. Par exemple :
@echo off echo Démarrage de l'automatisation... mkdir C:\Backup xcopy C:\MesDocuments\*.* C:\Backup /s /y echo Sauvegarde terminée. pauseEnregistrez le fichier avec l'extension
.bat.Exécutez le fichier en double-cliquant dessus ou en l'appelant depuis l'invite de commande.
Commandes courantes dans un fichier batch
echo: Affiche un message ou active/désactive l'affichage des commandes.
pause: Met en pause l'exécution jusqu'à ce que l'utilisateur appuie sur une touche.
cls: Efface l'écran de la console.
cd: Change de répertoire.
dir: Affiche la liste des fichiers et dossiers dans le répertoire courant.
del: Supprime des fichiers.
xcopy: Copie des fichiers et des répertoires.
start: Lance une application ou un autre programme batch.
shutdown: Permet d'éteindre ou de redémarrer l'ordinateur.
if: Permet d'exécuter des commandes conditionnelles.
for: Crée une boucle pour exécuter une commande sur plusieurs fichiers ou dossiers.
Exemples de fichiers batch
Nettoyage de fichiers temporaires
@echo off echo Nettoyage des fichiers temporaires en cours... del /s /q %TEMP%\* echo Nettoyage terminé. pauseSauvegarde automatique
@echo off echo Sauvegarde des documents en cours... xcopy C:\MesDocuments\*.* D:\Sauvegarde /s /y echo Sauvegarde terminée. pauseScript de démarrage de programme
@echo off echo Démarrage des programmes... start notepad.exe start chrome.exe echo Programmes démarrés. pause
Variables dans un fichier batch
Les fichiers batch permettent également d'utiliser des variables :
%username%: Renvoie le nom d'utilisateur actuel.
%date% et %time%: Renvoient la date et l'heure actuelles.
set: Permet de créer et d'utiliser des variables personnalisées.
Exemple avec une variable personnalisée :
Exécuter des commandes conditionnelles
Les fichiers batch peuvent utiliser des instructions conditionnelles pour exécuter des commandes selon certaines conditions. Par exemple, la commande if peut être utilisée ainsi :
Avantages des fichiers batch
Simplicité: Un fichier batch est facile à écrire et ne nécessite pas d'outils de développement avancés.
Automatisation: Il permet d'automatiser des tâches répétitives avec un minimum d'effort.
Compatibilité: Les fichiers batch fonctionnent sur presque toutes les versions de Windows.
Modularité: Ils peuvent être modifiés rapidement pour s’adapter à différents environnements.
Limitations
Interface textuelle: Les fichiers batch ne sont pas graphiques et nécessitent souvent une connaissance des commandes de l'invite de commande.
Capacités limitées: Comparés à des langages de script plus avancés comme PowerShell ou Python, les fichiers batch ont des capacités limitées.
Debugging difficile: Si une erreur se produit, il peut être difficile de la diagnostiquer dans un fichier batch sans outils spécialisés.
En résumé, les fichiers batch sont un moyen puissant et simple pour automatiser des tâches sous Windows. Bien qu'ils aient des limitations, ils sont largement utilisés pour des tâches de maintenance, de gestion de fichiers, et d'administration système.