|
|
Tout d'abord bonjour à tous, je me présente : Bruno FRÉDÉRIC <mp3@mygale.org>.
Nous apprendrons dans cette initiation à réaliser des BATches pour COMMAND.COM (l'interpréteur de commande livré avec MS-DOS) et par la suite pour 4DOS (interpréteur de commande édité par JP Software qui est beaucoup plus performant que COMMAND.COM).
Qu'est ce qu'un BATche ??? Basiquement, un BATche est un ficher texte avec l'extension ".BAT". Si vous vous êtes déjà aventuré dans ce monde obscur qu'est le MS-DOS, vous ne pouvez pas n'en avoir jamais vu : le plus connu d'entre eux est biensûr l'AUTOEXEC.BAT qui est exécuté à chaque démarrage de votre PC.
Si "AUTOEXEC.BAT" ne vous dit rien, passez votre chemin, la réalisation de BATche nécessite un minimum de connaissance du MS-DOS : apprenez dans un premier temps à maîtriser cet environnement et revenez à cette introduction ensuite.
En fait un fichier BATche est composé d'une suite de commandes MS-DOS telles que vous les taperiez sous l'invite ("prompt"), chaque nouvelle ligne du fichier correspondant à une nouvelle commande.
Par exemple si vous lancer le fichier BATche contenant les commandes suivantes :
Cela aura le même effet que si vous tapiez sous l'invite les commandes :
Quel est l'intérêt des BATches ? L'intérêt des BATches est de permettre une automatisation de toutes les tâche répétitives du MS-DOS.
Mais pourquoi préférer le BATche à un autre langage tel que le C ou le Pascal ?
Quelles sont ses limites ?
Comme je le disais juste au-dessus, le BATche n'est pas un langage compilé, ce qui le rend particulièrement lent par rapport à un langage compilé.
Quels sont les logiciels nécessaires à la réalisation de BATche ? Comme le BATche n'est pas un langage compilé, vous n'avez pas besoin de compilateur : c'est l'interpréteur de commande (ou "shell") qui interprètera (d'où son nom) le fichier BATche quand vous le lancerez. En fait, on peux considérer que l'interpréteur de commande est d'une certaine manière un compilateur qui compile le fichier BATche au fur et à mesure de son exécution.
Le seul programme dont vous aurez réellement besoin est donc un éditeur de texte tel que celui livré en standard avec MS-DOS (version 5.0 et superieure) : "EDIT". Si vous êtes habitué à utiliser un autre éditeur de texte tel que Aurora, Emacs, Multi-Edit, ceux-ci feront aussi parfaitement l'affaire.
Comme je vous le disais, c'est l'interpréteur de commande qui interprétera les commandes contenues dans le BATche et tout comme il existe plusieurs compilateur Pascal ou C, il existe plusieurs interpréteurs de commandes pour MS-DOS, les deux principaux sont "COMMAND.COM" et "4DOS" :
COMMAND.COM est l'interpréteur de commande livré avec MS-DOS. C'est probablement celui que vous utilisez car c'est celui qui est chargé par défaut au démarrage du MS-DOS. Pas grand chose à dire dessus, si ce n'est qu'il est très très limité et beaucoup moins agréable à utiliser que 4DOS.
Vous l'aurez compris, le téléchargement de 4DOS s'impose pour tout utilisateur du MS-DOS, vous pouvez donc vous rendre sur le Web de JP Software en suivant ce lien : http://www.jpsoft.com/ pour vous le procurer.
Notre premier BATche : Comme dans toute introduction à un langage de programmation digne de ce nom, nous allons réaliser un programme qui va afficher un "Coucou tout le monde" à l'écran. Pour cela, lancer votre éditeur de texte et taper le programme suivant :
Sauvegardez le en l'appelant "COUCOU.BAT" par exemple (n'importe quel nom ayant l'extension ".BAT" conviendra). Quitter l'éditeur de texte et lancer le programme en tapant "COUCOU.BAT". Vous obtenez alors quelque chose comme cela :
Hélas, ce n'est pas le résultat que nous espérions : biensûr, le "Coucou tout le monde" s'affiche, mais la commande qui nous a permit de l'afficher ("Echo Coucou tout le monde !") s'affiche aussi. Pour remédier à ce problème, il suffit de mettre un "@" au tout début de la ligne de commande que l'on désire ne pas se voir afficher, notre programme devient alors :
Le résultat obtenu est alors :
Et voilà, notre premier programme est parfaitement au point ! Et vous l'aurez compris, pour afficher un message, il faut utiliser la commande "Echo" suivie de la chaîne de caractères à afficher.
Cependant, mettre un "@" au tout début de chaque ligne du fichier BATche deviendrait vite fastidieux. Heureusement, il existe une commande qui permet d'éviter que toutes les commandes du fichier BATche qui la suivent soient affichées, il s'agit de la commande "Echo Off", en l'utilisant dans notre programme, celui-ci deviendra :
Notez que la commande "Echo Off" est précédée d'un "@", tout simplement pour qu'elle même ne soit pas affichée.
Vous pouvez au moyen des commandes MS-DOS que vous connaissiez déjà, réaliser des petits BATches qui vous faciliteront grandement la vie.
Reprenons notre premier exemple :
En rajoutant un "@Echo Off" au tout début de celui-ci et en le sauvegardant dans un répertoire du PATH avec un nom comme "W.BAT" vous obtiendrez ainsi un BATche qui vous permettra de vous défouler à votre jeu préféré simplement en tapant "W [Entrée]" sous la ligne de commande et ceci depuis n'importe quel répertoire !!!
C'est bien beau tout ça, mais j'en vois déjà qui sont perdus car ils ne savent pas ce qu'est le "PATH". Et bien pour répondre à leur soif de savoir, le "PATH" est une variable d'environnement du MS-DOS. Et alors c'est quoi "une variable d'environnement du MS-DOS" ? Et bien, c'est une variable qui est définie en général au démarrage de la machine et qui a une influence sur le comportement du MS-DOS.
Le PATH est défini dans l'AUTOEXEC.BAT par une ligne du genre :
Cette variable contient en fait une liste des répertoires (séparés par des point virgules) dans lesquels MS-DOS doit chercher les programmes s'il ne les trouve pas dans le répertoire courant. Ainsi, en mettant notre "W.BAT" dans un répertoire du PATH nous pourrons l'exécuter depuis n'importe quel répertoire. Nous pouvons aussi créer un répertoire que nous appellerons par exemple "BATCHES" dans lequel nous mettrons tous nos BATches et que nous rajouterons au PATH. Cette dernière possibilité étant la meilleure puisqu'elle évite de perdre nos BATches dans la foule des fichiers de Windows.
Voilà, c'est tout pour cette fois-ci. Dans la prochaine partie nous verrons comment réaliser des programmes qui manipulent des variables et qui analysent les paramètres que nous leur mettrons en ligne de commande.
|
|||||||||
|
|
Page Web: http://www.mygale.org/~mp3/ |