Les scripts PowerShell et les scripts Bash sont peut-être plus puissants, mais les fichiers de commandes peuvent néanmoins s'avérer très utiles si vous devez exécuter des commandes Windows de base.
Notions de base sur les fichiers batch
Un fichier de commandes est simplement un fichier texte enregistré avec l'extension de fichier.bat. Vous pouvez en écrire un en utilisant Notepad ou un éditeur de texte plus avancé tel que Notepad ++, mais n'utilisez pas de traitement de texte tel que Microsoft Word.
Créons un fichier batch simple. Tout d'abord, ouvrez le Bloc-notes. Tapez les lignes suivantes:
ECHO OFF ECHO Hello World PAUSE
Par exemple, vous pourriez vouloir le nommer
hello_world.bat
Si vous n'avez pas ajouté
PAUSE
au fichier, le fichier de commandes exécuterait simplement ses commandes et se fermerait automatiquement. Dans ce cas, il afficherait «Hello World» dans la fenêtre, puis fermerait immédiatement la fenêtre d'invite de commande. Lorsque vous souhaitez exécuter rapidement des commandes sans voir la sortie, vous pouvez l'omettre. Si vous exécutez plusieurs commandes, vous pouvez placer le
PAUSE
commande entre eux.
Écrire un fichier batch plus complexe
C’est fondamentalement simple de créer un fichier batch. La seule chose que vous devez changer est ce que vous tapez dans le Bloc-notes. Pour exécuter plusieurs commandes, vous tapez chacune sur sa propre ligne et le fichier de commandes les exécutera dans l’ordre.
Par exemple, supposons que nous voulions écrire un fichier de commandes qui exécute plusieurs commandes de diagnostic réseau. Nous pourrions vouloir courir
ipconfig /all
pour afficher des informations sur le réseau,
ping google.com
pour savoir si les serveurs de Google répondent, et
tracert google.com
lancer un traceroute sur google.com et voir s’il ya des problèmes en cours de route.
Dans la forme la plus élémentaire, nous pourrions simplement placer toutes ces commandes dans un fichier de commandes, les unes après les autres, comme suit:
ipconfig /all ping google.com tracert google.com PAUSE
Lorsque nous exécutons ce fichier, nous ne voyons que la sortie de chaque commande juste après l’autre. Mais ce n’est pas forcément le moyen idéal d’écrire un fichier de commandes.
::
est une ligne de commentaire qui ne sera pas exécutée. C’est pour eux un moyen utile d’expliquer ce qui se passe dans le fichier à qui vous pouvez le donner ou à vous-même, qui pourrait oublier pourquoi vous avez passé une certaine commande.
Vous pouvez également vouloir ajouter la commande “ECHO OFF” au début du fichier. Ceci est généralement ajouté au début de la plupart des fichiers de commandes. Dans ce cas, les commandes elles-mêmes ne seront pas imprimées dans l'invite de commande, mais les résultats le seront. Par exemple, vous verrez les détails de la connexion réseau mais pas la ligne «ipconfig / all». La plupart des gens ne s’intéressent pas à voir les commandes, ce qui permet de nettoyer la sortie.
Voici donc à quoi cela pourrait ressembler:
:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE
>>
opérateur après chaque commande pour ajouter sa sortie au fichier texte. Comme nous allons quand même lire le résultat du fichier texte, nous pouvons omettre le
PAUSE
commander.
:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to Google.com tracert google.com >> results.txt
Après avoir exécuté le script ci-dessus, vous trouverez un fichier nommé results.txt dans le même dossier que le fichier de traitement avec le résultat des commandes. La fenêtre d'invite de commande se ferme automatiquement une fois le fichier de traitement par lots exécuté.
del
commande pour supprimer des fichiers ou la
deltree
commande pour supprimer des répertoires. N'oubliez pas que vous utilisez uniquement les mêmes commandes que celles exécutées dans une fenêtre d'invite de commande.
Fondamentalement, c’est l’intérêt de la plupart des fichiers de commandes: il suffit d’exécuter quelques commandes les unes après les autres. Cependant, les fichiers de commandes peuvent en réalité être beaucoup plus complexes que cela. Par exemple, vous pouvez utiliser les instructions «IF» avec la commande «GOTO» pour vérifier la valeur de quelque chose, puis passer à différentes lignes en fonction du résultat. Cela ressemble plus à l'écriture d'un petit programme que d'un script rapide et sale. C’est l’une des raisons pour lesquelles les fichiers.bat sont parfois appelés «programmes de traitement par lots». Si vous souhaitez réaliser quelque chose de plus complexe, vous trouverez de nombreux guides sur la programmation en ligne par lots de tâches spécifiques. Mais maintenant, vous connaissez les bases sur la façon de lancer un simple ensemble.