Si les extensions de commandes sont activées, IF est modifié comme suit : IF /I Chaîne1 op-de-comp Chaîne2 commande IF CMDEXTVERSION ...

Si les extensions de commandes sont activées, IF est modifié comme suit :      IF [/I] Chaîne1 op-de-comp Chaîne2 commande     IF CMDEXTVERSION nombre commande     IF DEFINED variable commande  où op-de-comp peut être :      EQU - égal à     NEQ - différent de     LSS - inférieur à     LEQ - inférieur ou égal à     GTR - supérieur à     GEQ - supérieur ou égal à  et le commutateur /I, s'il est spécifié, demande d'ignorer la casse dans la comparaison des chaînes. Le commutateur /I peut également être utilisé pour la forme Chaîne1==Chaîne2 de IF. Ces comparaisons sont génériques : si les chaînes Chaîne1 et Chaîne2 sont toutes deux faites uniquement de chiffres, alors elles sont converties en nombres, et une comparaison numérique est alors effectuée.  La condition CMDEXTVERSION marche comme ERRORLEVEL, sauf qu'elle compare à un numéro de version interne associé aux extensions de commandes. La première version des extensions est 1. Ce numéro sera incrémenté de un à chaque amélioration significative. La condition CMDEXTVERSION n'est jamais vraie lorsque les extensions de commandes sont désactivées.  La condition DEFINED fonctionne comme EXISTS, sauf qu'elle prend un nom de variable d'environnement et renvoie vrai si la variable d'environnement est définie.