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

Se le estensioni dei comandi sono attivate, 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 poiché, se entrambi i parametri (stringa1 e stringa2) sono costituiti da soli caratteri numerici, vengono convertiti in numeri e viene 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 aggiunte migliorie significative alle estensioni dei comandi. Se le estensioni dei comandi sono disattivate, la condizione CMDEXTVERSION non restituisce mai true.  La condizione DEFINED è simile a EXISTS ma, a differenza di questa, accetta una variabile di ambiente e restituisce true se tale variabile è definita.