E-mail

Free counter and web stats anybrowser


logo

Accueil

Page précédente


Linux
Docs Linux/BSD
Distribs Linux
Logiciels Linux/BSD
Liens Linux
Livres *nix
Slrn fr

Programmation C
Télécommunications
Bomberman
Programmes Casio
Programmes HP49 G
Electronique - BTVE

Logiciels Windows
Mes programmes
Divers Windows
Fichiers Batch

FMC
Vie des romains
TPE Grippe

Liens






Programmation de fichiers de commandes Batch


Cette page a été réaliser dans le but d'inicier à la création de fichiers batch

Qu'est ce qu'un fichier batch

Un fichier batch est un fichier texte portant l'extension .bat et qui contient une suite de commandes dos. Il permet de faire des programmes ou de simplifier des actions couramment utilisées. Ce sont des scripts.



1) Etiquette

2) Affichage et pause

3) Faire un menu

4) Commande IF

5) Redirection

6) Options (paramètres)

7) Principale commandes

5) Généralité



1) Etiquette

Une étiquette est un point de repère dans un fichier qui permet de sauter des lignes et d'aller directement à une ligne précise. Elles sont du genre :nom_de_l_etiquette (il ne faut pas oublier les deux points avant le nom de l'étiquette). On l'appele par une commande goto nom_de_l_etiquette .

If exist nomfichier.ext goto fichierexist
goto nofichier
:fichierexist
del nomfichier.ext
:nofichier

Dans cet exemple, si le fichier monfichier.ext existe, le ligne goto nofichier est passé et on continue directement après l'étquette :fichierexist. On efface le fichier. Si le fichier n'existe pas, on éxecute la ligne goto nofichier et on va directement à la ligne :nofichier et donc on efface pas le fichier qui n'existe pas et on evite un message d'erreur.



2) Affichage et pause

La commande echo suivi de on ou off gère l'affichage des commandes. Par exemple si on tape nom_de_la_commande , seul le résultat et les messages d'erreur sont affiché. La frappe de la commandes (c:\windows\nom_de_la_commande) est masqué. On peut aussi masquer une commande en tapant @ devant celle-ci ex: @commande. On peut afficher des information en tapant echo informations à afficher. Pour afficher une ligne blanche, on peut utiliser echo. (il ne faut pas oublier le point). On peut aussi effacer le contenu de l'écran avec la commande cls . Pour faire une pause après chaque écran affiché par une commande, il faut taper |more après la commande ex: mem |more . On peut aussi faire une pause dans l'éxécution en tapantpause . On peut marquer des remarques pour se retrouver dans le fichier batch en tapant rem phrase donnantles remarques ( le cararctere | est obtenu en tapant Alt Gr + 6)



3) Faire un menu

Pour faire un menu on utilise la commande choice. Les paramètres sont: /c:lettres qui definies les différentes lettres du menu ; /n dit à choice de ne pas afficher l'invite (les différentes lettres du menu) mais seulement le texte. /s permet de distinguer les minuscules et les majuscules (par défaut, il n'y a pas de différence). /t:c,nn permet un choix par défaut du caractère c au bout de nn secondes (90 secondes est le maximum). Après les options on peut spécifier un message qui sera affiché. Exemple de syntaxe: choice/c:abcd /s /n /t:b,15 message à afficher. Pour traiter les résultat, il faut utiliser la commande if errorlevel 1 où 1 est la place de la lettre après /c:, si la lettre est en deuxième position, on fait if errorlevel 2 . Il faut commencer par l'erreur la plus grande. Cela donne:

@echo off
:debut
echo Utilisation de choice
echo.
Echo A- Lancer pgp
echo B- lancer works
echo C- lance pub
echo.
Choice /c:abc /n /t:a,90 Choisissez le programme à lancer.
If errorlevel 3 goto lancer_pub
if errorlevel 2 goto lancer_works
if errorlevel 1 goto lancer_pgp
:lancer_pgp
pgp
goto fin
:lancer_works
works
goto fin
:lancer_pub
publisher
goto fin
:fin
rem si on met
rem goto debut
rem là
rem on retourne au debut du menu (dans ce cas il faut penser
rem à ajouter une option quitter dans le menu)



4)Commande IF (condition)

If dispose de: errorlevel (code d'erreur délivré par le dernier programme lancé
no exist fichier.nom si le fichier n'existe pas
exist fichier.nom si le fichier existe
Après ce debut de commande, il faut indiquer la commande à exécuter si la condition est vrai ex: if exist fichier.nom goto etiquette




5) Redirection

La redirection permet de renvoyer le resultat d'une commande vers l'imprimante, vers un fichier log,.. Si on envoie vers un fichier, pour remplacer le contenu du fichier, il faut taper nom_de_la_commande > (chemin optionnel)nomdufichier.ext si on choisi d'ajouter à la fin du fichier, à la suite du contenu, il faut taper: nom_de_la_commande >> nomdufichier.ext . Pour répondre par o ou n, ou tout autre caractère pour suprimer la confirmation d'un commande, il faut taper echo o|nom_de_la_commande où o est le caractère à envoyer à la commande. Les differentes possibilités de redirection sont les differents port (lpt1 lpt2 com1 com2 ), l'imprimante (prn ), l'écran (con ) ou un fichier (n'importe quel nom ) .




6) Options (paramètres)

Les options sont définies lors de l'appel du fichier de commande (nom.bat option1 option2 option3 ...) On peut les appelés a n'importe quel momment dans le fichier en tapant %1 pour l'option1; %2 pour l'option2. On peut aussi appele des variables définies par la commande set en tapant%nom_de_la_variable%. Cela peut donner par exemple xcopy %1 %2 /m/s/a:h ou alors copy c:\windows\%1 e:\win\%2 %3 (%3 représente les options comme /m /s /e,...).




7) Principales commandes

Start options nomdufichier Permet de lancer un lien internet, un fichier, un programme en utilisant les associations définies dans windows

Xcopy permet de copier des fichier (pour une sauvegarde)




8) Généralités

On peut obtenir plus d'aide sur une commandes en tapant nom_de_la_commande /? ou alors, en installant le fichier d'aide du dos contenu sur le CD de windows 95 dans le repertoire d:\other\oldmsdos\ .Il faut copier tous les fichiers de ce repertoire vers le repertoire c:\windows\command\ . On y accede ensuite en faisantdemarrer executer help OK . L'edition d'un fichier batch peut se faire avec le bloc-note de windows (il faut donner une extension en .bat au fichier) mais l'editeur du dos (edit ) est un meilleur moyen car les accents sont bien gérés. Si vous voulez comprendre le fonctionnement des fichiers batch , vous pouvez étudiez un de mes programmes (un programme de sauvegarde à decompreser avec Pk-zip ou winzip) Le télécharger.

Allez voir la page contenant des exemples, l'aide du dos et des compilateurs. Ici

Vous trouverez d'autres information dans le groupe de news news:fr.comp.os.msdos et dans la faq de celui-ci (http://www.chez.com/scudo/Faq/dos/ )

Si vous avez d'autres trucs à ajouter sur les fichiers batch, mailez-moi.

Un site sur les batch






Dernière mise à jour:   Ven 29 jul 2005 23:10:19 CEST            My Uptimes      Stats du site