Comment écrire un script batch sous Windows

Table des matières:

Comment écrire un script batch sous Windows
Comment écrire un script batch sous Windows

Vidéo: Comment écrire un script batch sous Windows

Vidéo: Comment écrire un script batch sous Windows
Vidéo: Ce site est inaccessible - YouTube 2024, Peut
Anonim
Savez-vous comment utiliser l'invite de commande? Si vous le faites, vous pouvez écrire un fichier de commandes. Dans sa forme la plus simple, un fichier de commandes (ou script de commandes) est une liste de plusieurs commandes exécutées lorsque vous double-cliquez sur le fichier. Les fichiers de commandes remontent entièrement au DOS, mais fonctionnent toujours sur les versions modernes de Windows.
Savez-vous comment utiliser l'invite de commande? Si vous le faites, vous pouvez écrire un fichier de commandes. Dans sa forme la plus simple, un fichier de commandes (ou script de commandes) est une liste de plusieurs commandes exécutées lorsque vous double-cliquez sur le fichier. Les fichiers de commandes remontent entièrement au DOS, mais fonctionnent toujours sur les versions modernes de Windows.

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

Ensuite, enregistrez le fichier en cliquant sur Fichier> Enregistrer. Donnez-lui le nom de votre choix, mais remplacez l'extension de fichier.txt par défaut par l'extension.bat.
Ensuite, enregistrez le fichier en cliquant sur Fichier> Enregistrer. Donnez-lui le nom de votre choix, mais remplacez l'extension de fichier.txt par défaut par l'extension.bat.

Par exemple, vous pourriez vouloir le nommer

hello_world.bat

Vous avez maintenant un fichier de commandes avec l'extension de fichier.bat. Double-cliquez dessus pour l'exécuter. Ce fichier de commandes désactive ECHO (qui nettoie la sortie en masquant les commandes imprimées à l’invite, imprime le texte «Hello World» à l’écran, puis attend que vous appuyiez sur une touche avant qu’elle se termine.
Vous avez maintenant un fichier de commandes avec l'extension de fichier.bat. Double-cliquez dessus pour l'exécuter. Ce fichier de commandes désactive ECHO (qui nettoie la sortie en masquant les commandes imprimées à l’invite, imprime le texte «Hello World» à l’écran, puis attend que vous appuyiez sur une touche avant qu’elle se termine.

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.

Image
Image

É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.

Par exemple, vous pouvez ajouter des lignes de commentaire. Toute ligne commençant par un
Par exemple, vous pouvez ajouter des lignes de commentaire. Toute ligne commençant par un

::

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

Un fichier de commandes comme celui-ci peut vous donner d'autres indications. Par exemple, vous pouvez souhaiter que votre script de commandes exécute les commandes ci-dessus, puis exporte la sortie dans un fichier texte que vous pourrez visualiser ultérieurement. Pour ce faire, vous utiliseriez le
Un fichier de commandes comme celui-ci peut vous donner d'autres indications. Par exemple, vous pouvez souhaiter que votre script de commandes exécute les commandes ci-dessus, puis exporte la sortie dans un fichier texte que vous pourrez visualiser ultérieurement. Pour ce faire, vous utiliseriez le

>>

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é.

L'exemple que nous utilisons ci-dessus repose sur l'impression d'informations dans l'invite de commandes afin que l'utilisateur puisse les lire. Cependant, de nombreux fichiers de commandes sont conçus pour être exécutés de manière non interactive. Par exemple, vous pouvez avoir un fichier de commandes qui supprime plusieurs fichiers ou répertoires chaque fois que vous double-cliquez dessus. Vous devez simplement utiliser le
L'exemple que nous utilisons ci-dessus repose sur l'impression d'informations dans l'invite de commandes afin que l'utilisateur puisse les lire. Cependant, de nombreux fichiers de commandes sont conçus pour être exécutés de manière non interactive. Par exemple, vous pouvez avoir un fichier de commandes qui supprime plusieurs fichiers ou répertoires chaque fois que vous double-cliquez dessus. Vous devez simplement utiliser le

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.

Conseillé: