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
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...