Script de lot - Instruction If

La première déclaration de prise de décision est la déclaration «si». La forme générale de cette instruction dans Batch Script est la suivante -

if(condition) do_something

Le fonctionnement général de cette instruction est que tout d'abord une condition est évaluée dans l'instruction «si». Si la condition est vraie, il exécute alors les instructions. Le diagramme suivant montre le déroulement duif déclaration.

Vérification des variables

L'une des utilisations courantes de l'instruction «if» dans Batch Script est de vérifier les variables qui sont définies dans Batch Script lui-même. L'évaluation de l'instruction «if» peut être effectuée à la fois pour les chaînes et les nombres.

Vérification des variables entières

L'exemple suivant montre comment l'instruction «if» peut être utilisée pour les nombres.

Example

@echo off 
SET /A a = 5 
SET /A b = 10 
SET /A c = %a% + %b% 
if %c%==15 echo "The value of variable c is 15" 
if %c%==10 echo "The value of variable c is 10"

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

  • La première instruction 'if' vérifie si la valeur de la variable c est 15. Si c'est le cas, alors elle renvoie une chaîne à l'invite de commande.

  • Depuis la condition dans l'instruction - if% c% == 10 echo "La valeur de la variable c vaut 10 vaut faux, la partie écho de l'instruction ne sera pas exécutée.

Output

La commande ci-dessus produit la sortie suivante.

15

Vérification des variables de chaîne

L'exemple suivant montre comment l'instruction 'if' peut être utilisée pour les chaînes.

Example

@echo off 
SET str1 = String1 
SET str2 = String2 
if %str1%==String1 echo "The value of variable String1" 
if %str2%==String3 echo "The value of variable c is String3"

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

  • La première instruction «if» vérifie si la valeur de la variable str1 contient la chaîne «String1». Si tel est le cas, il renvoie une chaîne à l'invite de commande.

  • Puisque la condition de la deuxième instruction «if» est évaluée à false, la partie écho de l'instruction ne sera pas exécutée.

Output

La commande ci-dessus produit la sortie suivante.

"The value of variable String1"

Note - Une chose clé à noter est que l'évaluation dans l'instruction 'if' est "sensible à la casse". Le même programme que ci-dessus est légèrement modifié comme indiqué dans l'exemple suivant. Dans la première instruction, nous avons changé les critères de comparaison En raison de la casse différente, la sortie du programme suivant ne donnerait rien.

@echo off 
SET str1 = String1 
SET str2 = String2 
if %str1%==StrinG1 echo "The value of variable String1" 
if %str2%==String3 echo "The value of variable c is String3"

Vérification des arguments de ligne de commande

Une autre utilisation courante de l'instruction 'if' est utilisée pour vérifier les valeurs des arguments de ligne de commande qui sont passés aux fichiers de commandes. L'exemple suivant montre comment l'instruction 'if' peut être utilisée pour vérifier les valeurs des arguments de ligne de commande.

Example

@echo off 
echo %1 
echo %2 
echo %3 
if %1%==1 echo "The value is 1" 
if %2%==2 echo "The value is 2" 
if %3%==3 echo "The value is 3"

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

  • Le programme ci-dessus suppose que 3 arguments de ligne de commande seront transmis lors de l'exécution du script batch.

  • Une comparaison est effectuée pour chaque argument de ligne de commande avec une valeur. Si les critères sont satisfaisants, une chaîne est envoyée en sortie.

Output

Si le code ci-dessus est enregistré dans un fichier appelé test.bat et que le programme est exécuté comme

test.bat 1 2 3

Voici la sortie du programme ci-dessus.

1 
2 
3 
"The value is 1" 
"The value is 2" 
"The value is 3"