programmer des fichiers script batch
1 Introduction :
Quesqu’un fichier script batch ?
· C’est un fichier texte contenant une plusieurs commandes MS-DOS
· Il permet d’automatiser des traitements ou des tâches répétitives.
· Il porte l’extension .bat (batch)
Chaque ligne est lue séquentiellement, donc chaque commande du fichier est exécutée au fur et à
mesure. Lorsque toutes ces commandes sont épuisées, le système d’exploitation reprend la main.
On parle alors de traitement par lot.
Ce traitement fournit à l’utilisateur un moyen souple et puissant pour gérer l’utilisation du
système.
Une fois constitué, ces fichiers sont considérés comme des commandes par DOS, pour le lancer
il suffit de taper son nom. Ils peuvent également être lancés dans l’environnement graphique.
(double-clic).
Un fichier de commande peut en contenir un autre. L’appel est effectué simplement par son nom
en utilisant la commande
CALL <fichier> [param]
Pour programmer ces scripts, il suffit d’utiliser un éditeur de texte comme bloc-notes,Notepad++ ou autre, puis enregistrer le fichier avec l’extension « .bat »
Remarque : il y a des éditeurs spéciaux pour programmer des scripts batchs en offrant l’aide et
l’assistance comme par exemple PowerBatch.
2 Création du fichier batch :
2.1 Instructions Spéciales :
REM : Commentaire dans un fichier
ECHO : Affichage des commandes à l’écran, ou d’un message. On distingue :
ECHO OFF : empêche la visualisation des commandes avant leurs exécutions
ECHO ON : rétablit cette visualisation
ECHO message : permet d’afficher un message à l’écran
PAUSE : suspend l’éxcution du fichier de commande et affiche « Presser une touche pour
continuer… », PAUSE sert à donner à l’utilisateur :
Le temps de visualiser l’écran
La possibilité d’intervenir : arrêter l’exécution (CTRL+C), …ect
rem la directive rem permet de commenter une ligneRésultat :
echo off
cls
echo bonjour, voila mon premier batch
pause
2.2 Définition et utilisation d'une variable :
Une variable permet de stocker une donnée indiquée, à tous moment dans le script on pourra
faire appel à elle.
rem désactive l'affichage des commandesRésultat :
echo off
rem remise à blanc de l'écran
cls
rem définition de la valeur de la variable
set variable=1
rem affiche du texte en rappelant la variable grâce aux %
echo la valeur de la variable est %variable%
rem arrêt
pause
Demande de valeur à l'utilisateur
Il semble intéressant d'interagir avec l'utilisateur en demandant une variable. Cela est possible
grâce à l'utilisation du paramètre "/p", passer à la commande set.
Comme nous le montre cet exemple:
rem désactive l'affichage des commandesRésultat :
echo off
rem remise à blanc de l'écran
cls
rem le /p permet de demander le retour de la variable
set /p prenom= Quel est votre prenom :
rem remise à blanc
cls
rem affiche le texte avec la variable rentrée
echo Ca va %prenom%, tu as un joli prenom :-)
rem arrêt
pause
bien regarder notre vidéo pour bien comprendre
Les variables d'environnement
Nous avons vu comment définir des variables, en demander à l'utilisateur, mais Windows possède
un certain nombre de variables déjà renseignées, concernant votre système. Pour tester vous
pouvez essayer ce script.
echo offRésultat :
cls
rem liste des variables
echo Salut %USERNAME%,nous sommes le %DATE%
echo il est %Time% deja !,
echo %RANDOM% est un chiffre aléatoire.
echo Ton PC se nomme %COMPUTERNAME%,
echo il possède %NUMBER_OF_PROCESSORS% processeur,
echo c'est une architecture %PROCESSOR_IDENTIFIER%
rem arrêt
pause
D’autres variables d’environnement :
Découpage d'une variable
Pour découper une chaîne de caractères, il faut utiliser la syntaxe suivante :
%nom_variable:~positionDepart,nombreCaracteres%
Exemple 1 :
· %date:~6,4% : Afficher 4 caractères à partir de la position 6
· %date:~3,2% : Afficher 2 caractères à partir de la position 3
· %date:~0,2% : Afficher 2 caractères à partir de la position 0
L'exemple ci-dessus a comme résultat : 20110408.
Exemple 2 :
Prenons la variable d'environnement %ProgramFiles%
echo %ProgramFiles% donne C:\Program Files
Nous souhaitons conserver uniquement le lecteur "c:\"
echo %ProgramFiles:~0,3%
Nous souhaitons conserver uniquement le nom du dossier "Program Files"
echo %ProgramFiles:~3,13%
Calculs simple avec des variables
Grâce aux batch il est possible de faire des opérations simples telle qu'une addition, soustraction,
multiplication ou encore division. Cela est possible avec la commande set /a.
Exemple :
echo off
echo Addition
set /a add = 5+5
echo 5 + 5 = %add%
echo.
echo Soustraction
set /a sous = 10-5
echo 10 - 5 = %sous%
echo.
echo Division
set /a div = 10/2
echo 10 / 2 = %div%
echo.
echo Multiplication
set /a mult = 10*2
echo 10 * 2 = %mult%
pause
Résultat :
Merci pour votre explicité
RépondreSupprimer