Script Batch - Instructions If imbriquées

Parfois, il est nécessaire d'avoir plusieurs instructions «if» intégrées les unes dans les autres. Voici la forme générale de cette déclaration.

if(condition1) if (condition2) do_something

Donc, ce n'est que si la condition1 et la condition2 sont remplies que le code du bloc do_something sera exécuté.

Voici un exemple de la façon dont les instructions if imbriquées peuvent être utilisées.

Exemple

@echo off
SET /A a = 5
SET /A b = 10
if %a%==5 if %b%==10 echo "The value of the variables are correct"

Production

La commande ci-dessus produit la sortie suivante.

"The value of the variables are correct"

Si niveau d'erreur

Un autre cas particulier est "if errorlevel", qui est utilisé pour tester les codes de sortie de la dernière commande exécutée. Diverses commandes émettent des codes de sortie entiers pour indiquer l'état de la commande. En général, les commandes passent 0 si la commande a été exécutée avec succès et 1 si la commande a échoué.

Voici la syntaxe générale de cette déclaration.

if errorlevel n somecommand

où "n" est l'un des codes de sortie entiers.

Déclaration Goto

Généralement, l'exécution d'un fichier batch se déroule ligne par ligne avec la ou les commandes sur chaque ligne exécutées tour à tour. Cependant, il est souvent souhaitable d'exécuter une section particulière d'un fichier de commandes tout en sautant d'autres parties. La capacité de sauter à une section particulière est fournie par la commande «goto» correctement nommée (écrite en un mot). La section cible est étiquetée avec une ligne au début qui a un nom avec un deux-points en tête. Ainsi, le script ressemble à -

... 
goto :label 
...some commands 
:label 
...some other commands

L'exécution sautera "quelques commandes" et commencera par "quelques autres commandes". L'étiquette peut être une ligne n'importe où dans le script, y compris avant la commande "goto". Les commandes "Goto" apparaissent souvent dans les instructions "if". Par exemple, vous pourriez avoir une commande du type -

if (condition) goto :label

Voici un exemple de la façon dont l'instruction goto peut être utilisée.

Exemple

@echo off 
SET /A a = 5 

if %a%==5 goto :labela 
if %a%==10 goto :labelb

:labela 
echo "The value of a is 5" 

exit /b 0

:labelb 
echo "The value of a is 10"

La chose clé à noter à propos du programme ci-dessus est -

  • Les instructions de code pour l'étiquette doivent être sur la ligne suivante après la déclaration de l'étiquette.

  • Vous pouvez définir plusieurs instructions goto et leurs étiquettes correspondantes dans un fichier de commandes.

  • Les déclarations d'étiquette peuvent être n'importe où dans le fichier.

Production

La commande ci-dessus produit la sortie suivante.

"The value of a is 5"