S. Laporte LMS 1 LES FICHIERS DE COMMANDE .BAT Batch veut dire "lot" en anglais

S. Laporte LMS 1 LES FICHIERS DE COMMANDE .BAT Batch veut dire "lot" en anglais. Un fichier batch est un programme écrit en mode texte et qui a l'extension ".bat". Il permet de lancer une ou plusieurs commandes à la suite l'une de l'autre, et ainsi d'automatiser des tâches fastidieuses Le programme qui exécute les commandes (cmd.exe) lit séquentiellement chaque ligne, donc chaque commande du fichier et exécute ces commandes au fur et à mesure. Lorsque toutes ces commandes sont épuisées, le système d’exploitation reprend la main. Une fois constitués, ces fichiers sont considérés comme des commandes par DOS. Pour les lancer il est inutile de préciser leur extension. L’exécution de ces fichiers peut s’interrompre à tout moment par CTRL-C. DOS affiche alors un message demandant de confirmer l’arrêt de l’exécution du fichier Batch. Un fichier de commande peut en contenir un autre : ils sont « emboîtables ». Toutefois, il faut savoir qu’en fin d’exécution du fichier de commande emboîté, la main est redonnée au système d’exploitation et non au fichier de commande initial. Pour écrire un fichier batch, utilisez un éditeur de texte. Notepad de Windows fera parfaitement l'affaire, à condition de ne pas taper de caractères accentués. Sinon, utilisez le programme EDIT du langage de commande. Exemple de fichier de commande Voilà le contenu du fichier exemple1.bat, enregistré à la racine de C : date time dir /W Ce programme affiche la date et l’heure (et propose de les changer) puis affiche le contenu du répertoire courant sur 5 colonnes. Pour appeler ce programme, il suffit de l’appeler en indiquant son nom à la suite de l’invite de commande (le fichier .bat doit se trouver dans le chemin courant) C:\> exemple1 Lance l’exécution du programme L LE E P PA AS SS SA AG GE E D DE E P PA AR RA AM ME ET TR RE E Les commandes incluses dans le fichier peuvent être paramétrées, c’est à dire que les objets de ces commandes sont des paramètres formels. Les paramètres réels seront fournis lors du lancement du fichier batch : C :\>nom-fichier-batch param1 param2 ... Exemple : C :\>affich rouge noir Nom du fichier batch 1er paramètre 2ème paramètre sans l’extension S. Laporte LMS 2 Lors de l’appel du fichier, les paramètres réels seront substitués aux paramètres formels à mesure de l’exécution des différentes commandes. Les paramètres formels s’écrivent %n, où n est un chiffre de 0 à 9 représentant la position du paramètre dans la liste des paramètres réels fournie lors du lancement du fichier de commande. %0 représente le nom du fichier de commande lui-même. %1 représente la valeur du 1er paramètre. %n représente la valeur du nième paramètre. Exemple : Echo %1 de l’exemple précédent, donne comme résultat : rouge Exemple : Supposons que la commande MOVE n’existe pas. Construire un fichier batch se nommant bouger.bat permettant de déplacer un fichier (à l’aide de COPY et DEL). Le premier paramètre représentera le fichier qu’on souhaite déplacer, le second paramètre représentera le chemin où on veut le placer. Exemple d’appel : bouger texte.doc c:\doc\francais On trouvera dans le fichier bouger.bat les commandes suivantes : COPY %1 %2 DEL %1 Il y a, à l’exécution, substitution des paramètres réels (texte.doc et c:\doc\francais) et les commandes finalement exécutées seront : COPY texte.doc c:\doc\francais DEL texte.doc L LE ES S I IN NS ST TR RU UC CT TI IO ON NS S S SP PE EC CI IF FI IQ QU UE ES S A AU UX X F FI IC CH HI IE ER RS S D DE E C CO OM MM MA AN ND DE E Ces instructions sont reconnues par cmd.exe au même titre que toute autre instruction interne (telle que dir ou cd). Nous allons présenter les principales : ECHO REM PAUSE GOTO IF L’instruction ECHO MS-DOS affiche sur l’écran les commandes des fichiers batch avant de les exécuter. L’instruction ECHO dirige cette visualisation. ECHO OFF inhibe cette visualisation ECHO ON rétablit cette visualisation (mode normal) ECHO sans argument, délivre à l’écran le mode actuel (on ou off) ECHO <msg> dirige le contenu du message vers l’écran Exemple : ECHO Début du fichier batch L’instruction REM REM <msg> agit comme ECHO sauf que REM n’est pris en compte que dans le mode ECHO ON. En fait, ECHO s’utilise pour renseigner l’opérateur et REM pour documenter le fichier de commande = commentaire. S. Laporte LMS 3 L’instruction PAUSE L’instruction PAUSE suspend l’exécution du fichier de commande et affiche "Presser une touche pour continuer... " PAUSE sert pour donner à l’opérateur : • le temps de réfléchir • la possibilité de changer une disquette • la possibilité d’interrompre l’exécution par CTRL-C Le Label et GOTO Le label est une chaîne de 1 à 8 caractères alphanumériques. Il apparaît en position d’argument dans l’instruction GOTO. Utilisé comme étiquette sur une ligne de commande, il doit être précédé de deux points : Exemple : GOTO FIN .............. :FIN .............. Si le label n’est pas défini en position d’étiquette lors d’un GOTO, l’exécution du fichier est stoppée. Le message « label not found » s’affiche. L’instruction IF L’instruction conditionnelle se présente sous la forme IF [NOT] <condition> <commande> Attention, un if ne peut être suivi que d’une seule commande (ou plusieurs concaténées par &) Tester l’égalité : == IF %1 == STOP GOTO FIN Tester l’existence d’un fichier : EXIST IF NOT EXIST c:\langage\pascal\%1.pas GOTO ERROR A partir de WNT, il est possible d’utiliser ELSE avec IF, seulement si le ELSE est sur la même ligne que le IF. Exemple : Créer un fichier de commande affichant un message pour dire si le fichier passé en paramètre est présent ou non dans le répertoire courant. Exemple d’appel : trouve toto.xls On trouvera dans le fichier trouve.bat les commands suivantes : IF NOT EXIST %1 GOTO error ELSE ECHO Ce fichier est présent GOTO fin :error ECHO Ce fichier est absent :fin L LE ES S V VA AR RI IA AB BL LE ES S D D’ ’E EN NV VI IR RO ON NN NE EM ME EN NT T Certaines variables sont prédéfinies par Windows (via Autoexec.bat ou par le panneau de configuration). Ce sont des variables d’environnement persistantes (c'est-à-dire qu’elles sont toujours utilisables). S. Laporte LMS 4 Il existe de nombreuses variables d’environnement. Il est possible d’en ajouter. En voilà quelques unes : CD : chemin en cours WINDIR : contient le chemin du répertoire Windows TEMP : chemin du répertoire temporaire de Windows DATE : la date du jour TIME : l’heure courante OS : système d’exploitation installé USERNAME : nom de l’utilisateur sur le réseau COMPUTERNAME : nom de l’ordinateur sur le réseau ERRORLEVEL : numéro d’erreur (0 s’il n’y en a pas) PATH : c’est une variable d’environnement très importante (voir son explication ci -après) … Pour afficher toutes les variables d’environnement disponibles, il suffit de taper la commande SET. Les variables d’environnement dynamiques (qui bougent) telles que DATE, TIME ou CD n’apparaissent pas avec SET LA COMMANDE SET Cette commande, sans paramètre, permet comme on l’a vu de lister les variables d’environnement. Mais on peut utiliser cette commande pour créer ses propres variables d’environnement dans un fichier batch. Syntaxe SET variable = valeur SET dossier = « C:\Mes Documents\Travail » SET nom = %1% La variable nom prend la valeur du 1° paramètre Pour supprimer une variable, il suffit de la faire suivre du signe = tout seul SET dossier = Supprime la variable dossier LA COMMANDE PATH Pour qu’un fichier batch (de même qu’un .exe ou qu’un .com) puisse être exécuté, il faut qu’il se trouve : - soit dans le répertoire en cours - soit dans un des chemins enregistrés dans la variable PATH. Si ce n’est pas le cas un message d’erreur apparaît, du genre « xxxx n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. » La variable d’environnement PATH contient tous les répertoires que le système explore si on lui demande d’exécuter un fichier .bat, .exe ou .com n’existant pas dans le répertoire courant. La variable PATH est constituée d’une liste de chemins de répertoires séparés par des ; Ainsi, si vous tapez monbatch, l’interpréteur de commande va d’abord le chercher dans le répertoire courant. S’il n’y est pas, il cherche dans le premier répertoire contenu dans le path, puis dans le second.. jusqu’à ce que le fichier soit trouvé (auquel cas il est exécuté) ou bien que tous les répertoires du PATH aient été explorés. Dans ce cas, le message d’erreur apparaît. Il est possible d’ajouter un chemin dans le path en utilisant la forme suivante : PATH = %PATH%;c:\Alsi Ici, on ajoute ;c:\Alsi à la variable PATH uploads/Industriel/ batch 1 .pdf

  • 22
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager