Si los comandos de extensión están habilitados IF cambia así: IF /I cadena1 op-de-comparación cadena2 comando IF CMDEXTVERSION ...

Si los comandos de extensión están habilitados IF cambia así:      IF [/I] cadena1 op-de-comparación cadena2 comando     IF CMDEXTVERSION número comando     IF DEFINED variable comando  donde op-de-comparación puede ser:      EQU - igual     NEQ - no igual     LSS - menor que     LEQ - menor que o igual     GTR - mayor que     GEQ - mayor que o igual  y el modificador /I, si se especifica, realiza comparaciones de cadena que no distinguen entre mayúsculas y minúsculas. El modificador /I también puede usarse en la forma cadena1==cadena2 de IF. Estas comparaciones son genéricas, por lo que si tanto cadena1 como cadena2 se constituyen únicamente por dígitos numéricos, entonces las cadenas se convierten a números y se realiza una comparación numérica.  El condicional CMDEXTVERSION funciona sólo como ERRORLEVEL, excepto si se compara con un número de versión interna asociada con las extensiones de comando. La primera versión es 1. Será incrementada en uno cuando las significantes mejoras sean agregadas a las extensiones de comando. El condicional CMDEXTVERSION nunca es verdadero cuando las extensiones de comando están deshabilitadas.  El condicional DEFINED funciona sólo como EXISTS excepto cuando toma un nombre de variable de entorno y vuelve como verdadero si se define la variable de entorno.