IF
Esegue un'elaborazione condizionale in programmi batch.
IF [/I] [NOT] {ERRORLEVEL numero | stringa1==stringa2 | EXIST nomefile | DEFINED variabile} (comando1) [ELSE comando2]
Dove:
- /I - Specifica che non distingue fra maiuscole e minuscole.
- NOT - Specifica che Windows esegue il comando solo se la condizione è falsa.
- ERRORLEVEL numero - Condizione vera se l'ultimo programma eseguito ha restituito un codice di uscita uguale o maggiore del numero specificato.
-
stringa1==stringa2 - Condizione vera se le stringhe corrispondono. Altri operatori:
- EQU - è uguale a (come ==).
- NEQ - non è uguale a.
- LSS - è minore di.
- LSQ - è minore o uguale a.
- GTR - è maggiore di.
- GEQ - è maggiore o uguale a.
- EXIST nomefile - Condizione vera se il nomefile specificato esiste.
- DEFINED variabile - Condizione vera se la variabile d'ambiente specificata è definita.
- comando1 - Comando da eseguire se la condizione è soddisfatta.
- ELSE comando2 - Comando da eseguire se la condizione non è soddisfatta.
La sintassi può essere anche:
IF [NOT] {ERRORLEVEL numero | stringa1==stringa2 | EXIST nomefile | DEFINED variabile} (
comandi1
) [ELSE (
comandi2
)]
Dove si possono mettere più comandi condizionali.
Esempi:
1. Esegue il comando ECHO Ciao! se la stringa everest è uguale a EVEREST:
if everest==EVEREST (echo Ciao!)
oppure:
if everest==EVEREST (
echo Ciao!
)
In questo caso, il comando non verrà eseguito poiché senza l'opzione /I la distinzione fra maiuscole e minuscole è considerata.
2. Esegue il comando "C:\Ciccio.txt" e il comando ECHO Apertura di C:\Ciccio.txt completata. se il file C:\Ciccio.txt esiste, altrimenti esegue ECHO C:\Ciccio.txt non e' stato trovato:
if /i exist "C:\Ciccio.txt" (
"C:\Ciccio.txt"
echo Apertura di C:\Ciccio.txt completata.
) else (
echo C:\Ciccio.txt non e' stato trovato.
)
3. Esegue ECHO La variabile d'ambiente variab equivale a %variab% se la variabile variab è definita, altrimenti ECHO La variabile d'ambiente variab non e' definita:
if defined variab (
echo La variabile d'ambiente variab equivale a %variab%.
) else (
echo La variabile d'ambiente variab non e' definita.
)
Approfondimento:
Per visualizzare il valore di una variabile d'ambiente, racchiudere il nome della variabile tra simboli di percentuale %, come nell'esempio:
echo %path%
Visualizza il valore della variabile d'ambiente PATH. Questo si applica a tutte le variabili definite, comprese quelle predefinite in MS-DOS, come:
- %ERRORLEVEL% - Espande il codice d'uscita dell'ultima istruzione.
- %CMDCMDLINE% - Espande il percorso del prompt dei comandi.
- %DATE% - Data attuale.
- %TIME% - Ora attuale.
- %CD% - Cartella corrente.
- %RANDOM% - Numero casuale tra 0 e 32767.

