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 solo 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 solo como EXIST excepto cuando toma un
nombre de variable de entorno y vuelve como verdadero si se define la
variable de entorno.