LES FICHIERS BATCH

Transcription

LES FICHIERS BATCH
LES FICHIERS BATCH
Définition :
les fichiers BATCH sont des fichiers regroupant des lignes de codes,
soit des commandes DOS, soit des programmes exécutables. Extension . BAT
Pour exécuter un fichier BATCH, il suffit de taper le nom du fichier.
Pour l’arrêter touches CTRL et C simultanément
Intérêt :
regrouper des commandes dans un fichier BATCH et intéressant pour :
- Automatisation des taches
- Faciliter l’exécution d’une commande complexe ou longue à écrire.
Création d’un fichier BATCH :
A l’aide d’un éditeur de texte EDIT.com, NOTEPAD Windows
ou COPY CON*
COPY CON [nom de fichier].BAT puis [texte cde] puis CTRL Z pour enregistrer et fermer fichier.
ECHO ON / OFF
active/désactive l’affichage des commandes qui suivent sur la ligne
ECHO [message]
affiche un message
@ECHO OFF
désactive l’affichage de ECHO sur la ligne
ECHO.
Affiche un saut de ligne
@
désactive la ligne ou @ se trouve
PAUSE
arrête le déroulement du fichier BATCH et affiche un message invitant à appuyer
sur une touche pour continuer
Cette commande sert souvent à l’utilisateur pour avoir le temps de visionner un texte situé
Dans un fichier BATCH lors de son déroulement
REM
Permet de désactiver une ligne de commande dans un fichier BATCH
ou d’insérer un commentaire
GOTO [label]
renvoie à une étiquette spécifiée
Ex :
@echo off
Goto début
:début
echo bonjour
Goto fin
: fin
echo bonsoir
IF
permet d’effectuer un test
Ex :
IF ‘’%1’’==’’date’’ Goto suite1
:suite1
Prompt $d$p$g
Goto fin
:fin
si dans %1 j’écris Date alors suite1
affiche la date au niveau du prompt en plus de c:\
( %1 ; %2 ; %3 ; ……. ; %9 )
Paramètres remplaçables :
Ex :
dans un fichier Batch appelé MDCD.bat
On a
cde c:\>MDCD [nom de rép]
MD %1
CD %1
Echo %0 %1
Donc si cde c:\>MDCD TOTO
alors
alors
puis
MD %1
CD %1
echo %0 %1
on créer le répertoire TOTO par MD TOTO
on se place dessus par CD TOTO
on affiche le message MDCD TOTO par ex
exemple SAUV.bat : si créer SAUV.bat
exemple 2 :
si dedans
XCOPY /S /E a:\ c:\%1
Donc si cde
Alors
c:\>SAUV SAVE
puisque : SAUV [nom de rép]
a:\ est copiée dans répertoire c:\SAVE
@echo off
IF ”%1” ==”” Goto Syntaxe si %1 est vide alors Goto syntaxe
permet de tester si l’on a bien écris le nom
du répertoire derrière la commande
XCOPY /S/E a:\ c:\%1
a:\ est toujours copiée dans répertoire c:\SAVE
Goto fin
:Syntaxe
echo taper le nom du répertoire après la commande
echo synthaxe : SAUV [nom de répertoire]
:fin
EXIST [nom de répertoire]\NUL
teste l’existence d’un Répertoire
EXIST [nom de fichier]
teste l’existence d’un Fichier
ex TESTFICH.bat :
@echo off
IF EXIST %1 Goto suite
Echo Fichier non trouvé
Goto fin
:suite
fichier existant
:fin
si le fichier spécifié existe alors Goto suite
sinon message Fichier non trouvé
ex TESTFR .bat :
teste la présence de fichier ou de répertoire sur un disque
@echo off
IF “%1”==”” Goto Aide
si %1 est vide alors Goto Aide
IF EXIST %1 Goto Suite1
ECHO fichier non trouvé
si fichier existe alors Goto suite1
sinon message fichier non trouvé
IF EXIST %1\NUL Goto Suite2
ECHO répertoire non trouvé
Goto Fin
si répertoire existe alors Goto suite2
sinon message répertoire non trouvé
:Suite1
echo fichier existant
Goto Fin
:Suite2
echo répertoire existant
Goto Fin
:Aide
echo la syntaxe de la commande est :
TESTFR [nom de fichier ou de répertoire]
:Fin
ex :
créer un FORMAT, qui ne formate pas le disque dur
1)
renommer
FORMAT.com en TAMROF.com
2)
créer un fichier FORMAT.bat, qui n’autorise que la formatage de A : ou B :
1)
REN c:\dos\FORMAT.com _ TAMROF.com
2)
edit FORMAT.bat
@Echo off
IF % == c :
IF % == a :
IF % == b :
Goto1
Goto2
Goto3
:1
echo Formatage interdit
Goto Fin
:2
TAMROF a :
Goto Fin
:3
TAMROF b :
Goto Fin
:Fin
Echo Fin de Programme
(ruse)
CHOISE
Permet à l’utilisateur d’entrer des données,
De choisir l’une des touches prédéfinis et retourne un paramètre ERROLEVEL
au programme de commande, en fonction de la touche choisie.
CHOISE /C :[touches] /N /S /T :t,nn
[texte]
/N
n’affiche pas l’invite des [touches] du choix mais seulement un texte [texte]
/S
permet de distinguer minuscule et majuscule (a de A)
/T :t,nn
permet à CHOICE de marquer une pause d’un certain temps,
nn spécifie le temps de la pause en secondes
Ex :
CHOIX.bat
t indique la touche choisie par défaut
@echo off
echo a
echo b
echo c
CHOICE /C :abc /N /S /T :a,10
IF ERRORLEVEL 3 Goto saut3
IF ERRORLEVEL 2 Goto saut2
IF ERRORLEVEL 1 Goto saut1
:saut3
echo touche c sélectionnée
Goto Fin
:saut2
echo touche b sélectionnée
Goto Fin
:saut1
echo touche a sélectionnée
Goto Fin
:Fin
choisissez une touche
les tests de la valeur de ERRORLEVEL s’effectuent toujours par ordre décroissant
If ERROLEVEL 1 Goto1
Ex :
MENU.bat
Si la valeur de ERRORLEVEL est supérieure ou égale à 1 Alors aller à saut1
@echo off
echo 1 : lire autoexec.bat
echo 2 : lire config.sys
echo 3 : Quitter
CHOICE /C :123 /N /S /T:3,10
IF ERRORLEVEL 3 Goto saut3
IF ERRORLEVEL 2 Goto saut2
IF ERRORLEVEL 1 Goto saut1
:saut3
GotoFin
:saut2
edit c:\config.sys
GotoFin
:saut2
edit c:\autoexec.bat
GotoFin
:Fin
CALL
Ex :
permet d’appeler un autre fichier Batch à partir d’un fichier Batch
E.bat
*
@echo off
echo début fichier E.bat
PAUSE
CALL EA.bat
@echo fin édition de autoexec .bat Retour au fichier E.bat
PAUSE
CALL EC.bat
@echo fin édition de config.sys retour au fichier E.bat
remarque :
si la commande * CALL est supprimée, alors le fichier Batch appelé sera exécuté
Mais il n’y aura pas de retour au fichier Batch appelant
SCHIFT
Ex :
permet de changer la position des paramètres remplaçables dans un fichier de cde
SCHIFT1.bat
@echo off
echo %1 %2 %3 %4 %5
Shift
Echo %1 %2 %3 %4
Rem donc prouve le déplacement des Valeurs %
Le fait de pouvoir décaler vers la gauche de %1 à %0 ‘’libère’’ toujours le dernier paramètre ex : %5
Pour pouvoir mettre une infinité de paramètre
Ex :
Copiproc.bat
boucle
Dans C:\DOS
Les Fichiers
Si
C:\COPIPROC.bat_C:\DOS_C:\config.sys_C:\Autoexec.bat
%1
%2
%3
Donc VERREP=C:\DOS
%1 devient %0, %2 devient %1, %3 devient %2 est ainsi de suite
jusqu'à ce que la boucle se termine à la dernière valeur % ?.
Collage

Documents pareils

Formation à la programmation Batch

Formation à la programmation Batch Un fichier Batch étant à la base un fichier texte, vous pouvez créer vos batchs avec n’importe quel éditeur de texte. Attention : un fichier batch est un fichier texte « brut » (*.txt) sans formata...

Plus en détail