Se le estensioni dei comandi sono abilitate, l'istruzione IF verrà modificata come segue: IF /I stringa1 op_confr stringa2 ...

Se le estensioni dei comandi sono abilitate, l'istruzione IF verrà modificata
come segue:

    IF [/I] stringa1 op_confr stringa2 comando
    IF CMDEXTVERSION numero comando
    IF DEFINED variabile comando

Dove op_confr può essere uno degli operatori seguenti:

    EQU - Uguale
    NEQ - Diverso
    LSS - Minore di
    LEQ - Minore o uguale a
    GTR - Maggiore di
    GEQ - Maggiore o uguale a

L'opzione /I, se specificata, indica che nel confronto non deve essere fatta
distinzione tra maiuscole e minuscole. L'opzione /I può essere utilizzata
anche nelle istruzioni IF con formato stringa1==stringa2. Tali confronti
sono generici. Infatti, se i parametri stringa1 e stringa2
contengono solo caratteri numerici, verranno convertiti in numeri e verrà
eseguito un confronto numerico.

La condizione CMDEXTVERSION è simile a ERRORLEVEL, ma il confronto viene
eseguito rispetto a un numero di versione interno associato alle estensioni
dei comandi. La prima versione è 1 e viene incrementata di un'unità quando
vengono aggiunti miglioramenti significativi alle estensioni dei comandi.
Se le estensioni dei comandi sono disabilitate, la condizione CMDEXTVERSION
non restituisce mai true.

La condizione DEFINED è simile a EXIST ma, a differenza di questa, accetta
una variabile di ambiente e restituisce true se tale variabile è definita.