Il comando: "IF" è attivo Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponibile
Gli esempi per il comando "IF"
IL
`IF`Il comando nel prompt dei comandi di Windows viene utilizzato per eseguire istruzioni condizionali negli script batch. Ecco alcuni esempi:
Esempio 1: semplice controllo di uguaglianza:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO Le variabili sono le stesse.
) ELSE (
ECHO Le variabili non sono uguali.
)
Descrizione: In questo esempio le variabili
`Variable1`E
`Variable2`rispetto. Se sono uguali, verrà visualizzato il messaggio
"Le variabili sono uguali". output, altrimenti
"Le variabili non sono uguali."
Esempio 2: verifica dell'esistenza del file:
@ECHO OFF
IF EXIST C:\Esempio.txt (
ECHO Il dossier esiste.
) ELSE (
ECHO il file non esiste.
)
Descrizione: Controlla se il file “Example.txt” esiste nella directory C:\. Se il file esiste viene emesso il messaggio corrispondente, altrimenti l'altro.
Esempio 3: controllo dell'input dell'utente:
@ECHO OFF
SET /P utente_input=Per favore inserisci un valore:
IF "%utente_input%"=="" (
ECHO Non hai inserito un valore.
) ELSE (
ECHO Loro hanno "%utente_input%" inserito.
)
Descrizione: Controlla se l'utente ha inserito un valore. Se non è stato effettuato alcun inserimento, appare il messaggio
"Non hai inserito alcun valore." output, altrimenti viene visualizzata la stringa di caratteri immessa.
Esempio 4: controllo della dimensione del file:
@ECHO OFF
SET file=C:\Esempio.txt
SET Dimensione_minima=1024
FOR %%A IN (%file%) DO SET dimensione del file=%%~zA
IF %dimensione del file% GEQ %Dimensione_minima% (
ECHO Il file soddisfa la dimensione minima.
) ELSE (
ECHO Il file è troppo piccolo.
)
Descrizione: La dimensione del file
"Example.txt" viene controllata qui. Se la dimensione del file è maggiore o uguale alla dimensione minima (
`Dimensione_minima`), il messaggio
"Il file soddisfa la dimensione minima." output, altrimenti
"Il file è troppo piccolo."
Esempio 5: controllo del sistema operativo:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO usate Windows 10.
) ELSE (
ECHO Stai utilizzando un sistema operativo diverso.
)
Descrizione: Controlla se il sistema operativo è Windows 10. In tal caso, verrà visualizzato il messaggio
"Stai utilizzando Windows 10". altrimenti
"Stai utilizzando un sistema operativo diverso".
IL
`IF`rende possibile verificare varie condizioni negli script batch e intraprendere le azioni appropriate in base ai risultati.
"IF" Estratto dalla guida di Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Esegue un'elaborazione condizionale in programmi batch.
IF [NOT] ERRORLEVEL numero comando
IF [NOT] stringa1==stringa2 comando
IF [NOT] EXIST nomefile comando
NOT Specifica che Windows XP dovrebbe eseguire
il comando solo se la condizione è falsa.
ERRORLEVEL numero Specifica una condizione vera se l'ultimo
programma
eseguito ha restituito un codice di uscita uguale
o
maggiore del numero specificato.
stringa1==stringa2 Specifica una condizione vera se le stringhe di
testo
specificate corrispondono.
EXIST nomefile Specifica una condizione vera se il nomefile
specificato
esiste.
comando Specifica il comando da eseguire se la condizione è
soddisfatta. Il comando può essere seguito dal
comando
ELSE che eseguirà il comando dopo la parola chiave
ELSE
se la condizione specificata è FALSE
La clausola ELSE deve essere indicata nella stessa riga del comando
dopo IF. Per esempio:
IF EXIST nomefile. (
del nomefile.
) ELSE (
echo nomefile. mancante.
)
La situazione seguente NON funziona perché il comando del deve essere
terminato
con una nuova riga:
IF EXIST nomefile. del nomefile. ELSE echo nomefile. mancante
Neanche in questo caso funziona. Il comando ELSE deve essere sulla
stessa riga
della fine del comando IF:
IF EXIST nomefile. del nomefile.
ELSE echo nomefile. mancante
Questa situazione funziona se si desidera tutto su una riga:
IF EXIST nomefile. (del nomefile.) ELSE echo nomefile. mancante
Se le estensioni ai comandi sono abilitate IF cambia come segue:
IF [/I] stringa1 operat. compar. stringa2 comando
IF CMDEXTVERSION numero comando
IF DEFINED variabile comando
dove operat. compar. può essere uno di:
EQU - uguale
NEQ - non uguale
LSS - meno di
LEQ - meno di o uguale
GTR - maggiore di
GEQ - maggiore di o uguale
e l'opzione /I, se specificata, indica di non distinguere tra maiuscole
e
minuscole. L'opzione /I può essere usata anche nella forma
stringa1==stringa2
di IF. Questi confronti sono generici, in quanto sia stringa1 sia
stringa2 sono formate da cifre numeriche, poi le stringhe sono
convertite in numeri e viene eseguito un confronto numerico.
CMDEXTVERSION condizionale opera come ERRORLEVEL, tranne che
il confronto avviene rispetto a un numero di versione interna associato
alle estensioni
di comando. La prima versione è 1 e sarà incrementata di uno quando
sono aggiunte migliorie significative alle estansioni ai comandi.
CMDEXTVERSION condizionale non è mai vera quando le estensioni ai
comandi sono
disabilitate.
IDEFINED condizionale funziona come EXISTS se non che prende una
variabile di ambiente e restituisce come vero se la variabile
è definita.
%ERRORLEVEL% espande in una rappresentazione di stringa del
corrente valore di ERRORLEVEL, pósto che non sia già
presente una variabile di ambiente con nome ERRORLEVEL, nel cui caso si
ottiene il valore di quest'ultima. Dopo l'esecuzione di un programma,
ecco come
viene usato ERRORLEVEL:
goto answer%ERRORLEVEL%
:answer0
echo Program ha restituito codice 0
:answer1
echo Program ha restituito codice 1
Si possono anche utilizzare i confronti numerici precedenti:
IF %ERRORLEVEL% LEQ 1 goto okay
%CMDCMDLINE% espande alla riga di comando di partenza passata a
CMD.EXE prima di elaborare CMD.EXE, a condizione che non sia
già presente una variabile con nome CMDCMDLINE, nel qual caso
si ottiene il valore di questa.
%CMDEXTVERSION% espande in una rappresentazione di stringa del
valore corrente di CMDEXTVERSION, pósto che non sia già
presente una variabile di ambiente con nome CMDEXTVERSION, nel qual
caso
si ottiene il valore di questa.
Informazioni importanti, suggerimenti per il comando "IF"
Quando si utilizza il
`IF`nel prompt dei comandi di Windows, è necessario notare alcuni punti importanti:
1.
Sintassi della condizione: la sintassi di
`IF`-La dichiarazione richiede la corretta formulazione della condizione. L'operatore di confronto (
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`) deve essere compreso tra i valori da confrontare. Nota gli spazi nella sintassi per evitare errori imprevisti.
2.
Utilizzo delle virgolette: Quando si convalidano le stringhe, è importante utilizzare le virgolette per garantire che la condizione venga valutata correttamente. Esempio:
`IF "%Variable%"=="Valore" ...`
3.
Variabili: se utilizzi variabili nella condizione, assicurati che corrispondano correttamente
`%`sono racchiusi, come in
`%Variable%`. Ciò garantisce che il valore della variabile sia inserito correttamente nella condizione.
4.
Dichiarazione ELSE: Il
`ELSE`L'istruzione deve trovarsi sulla stessa riga della parentesi di chiusura di
`IF`fermarsi o iniziare su una nuova riga. Esempio:
IF Condizione (
Echo La condizione è vera.
) ELSE (
Echo La condizione è falsa.
)
5.
Nota`%ERRORLEVEL%`dopo un comando: Se hai il file
`IF`comando dopo un altro comando, puoi
`%ERRORLEVEL%`per verificare il successo o il fallimento di questo comando. Esempio:
DIR C:\Directory_in_esistente
IF %ERRORLEVEL% NEQ 0 (
Echo Errore durante l'esecuzione DIR-comando.
)
6.
Confronti numerici: per i confronti numerici dovresti
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`per garantire che i confronti vengano effettuati correttamente.
7.
Operatori logici: puoi utilizzare operatori logici come
`AND`(
`&&`) E
`OR`(
`||`) per creare condizioni complesse. Esempio:
IF Exist file.txt IF %Variable% EQU Valore (
Echo Entrambe le condizioni sono vere.
)
8.
Combinazione con altri comandi: Puoi farlo
`IF`-Combina istruzioni con altri comandi per eseguire azioni diverse in base alle condizioni.
9.
Spazi bianchi: fai attenzione a non utilizzare spazi bianchi non necessari nelle tue condizioni o comandi, poiché ciò può portare a comportamenti imprevisti.
È importante comprendere la sintassi del file
`IF`-Comprendere attentamente le istruzioni e assicurarsi che le condizioni siano formulate correttamente per ottenere il comportamento desiderato. Se non sei sicuro, puoi consultare la documentazione ufficiale Microsoft o le risorse online.