Script batch - Istruzione If

La prima dichiarazione decisionale è l'affermazione "if". La forma generale di questa istruzione in Batch Script è la seguente:

if(condition) do_something

Il funzionamento generale di questa istruzione è che prima una condizione viene valutata nell'istruzione "if". Se la condizione è vera, esegue le istruzioni. Il diagramma seguente mostra il flusso diif dichiarazione.

Controllo delle variabili

Uno degli usi comuni dell'istruzione "if" in Batch Script è per il controllo delle variabili impostate nello stesso Batch Script. La valutazione dell'istruzione "if" può essere eseguita sia per le stringhe che per i numeri.

Controllo delle variabili intere

L'esempio seguente mostra come utilizzare l'istruzione "if" per i numeri.

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 cosa fondamentale da notare sul programma di cui sopra è:

  • La prima istruzione "if" controlla se il valore della variabile c è 15. In tal caso, viene visualizzata una stringa nel prompt dei comandi.

  • Poiché la condizione nell'istruzione - if% c% == 10 echo "Il valore della variabile c è 10 restituisce false, la parte echo dell'istruzione non verrà eseguita.

Output

Il comando precedente produce il seguente output.

15

Controllo delle variabili stringa

L'esempio seguente mostra come utilizzare l'istruzione "if" per le stringhe.

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 cosa fondamentale da notare sul programma di cui sopra è:

  • La prima istruzione "if" controlla se il valore della variabile str1 contiene la stringa "String1". In tal caso, viene visualizzata una stringa nel prompt dei comandi.

  • Poiché la condizione della seconda istruzione "if" restituisce false, la parte echo dell'istruzione non verrà eseguita.

Output

Il comando precedente produce il seguente output.

"The value of variable String1"

Note - Una cosa fondamentale da notare è che la valutazione nell'istruzione 'if' è "case-sensitive". Lo stesso programma di cui sopra è stato leggermente modificato come mostrato nell'esempio seguente. Nella prima istruzione, abbiamo cambiato i criteri di confronto A causa del diverso involucro, l'output del programma seguente non produrrebbe nulla.

@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"

Controllo degli argomenti della riga di comando

Un altro uso comune dell'istruzione "if" viene utilizzato per verificare i valori degli argomenti della riga di comando che vengono passati ai file batch. L'esempio seguente mostra come utilizzare l'istruzione "if" per verificare i valori degli argomenti della riga di comando.

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 cosa fondamentale da notare sul programma di cui sopra è:

  • Il programma precedente presuppone che vengano passati 3 argomenti della riga di comando quando viene eseguito lo script batch.

  • Viene eseguito un confronto per ogni argomento della riga di comando con un valore. Se il criterio viene superato, viene inviata una stringa come output.

Output

Se il codice sopra viene salvato in un file chiamato test.bat e il programma viene eseguito come

test.bat 1 2 3

Di seguito sarà l'output del programma di cui sopra.

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