Se as extensões de comando estiverem ativadas, o IF será alterado como a seguir: IF /I cadeia de caracteres1 op_comparação ...

Se as extensões de comando estiverem ativadas, o IF será alterado como
a seguir:

    IF [/I] cadeia de caracteres1 op_comparação cadeia de caracteres2 comando
    IF CMDEXTVERSION número comando
    IF DEFINED variável comando

onde op_comparação pode ser uma das seguintes:

    EQU - igual
    NEQ - diferente
    LSS - menor que
    LEQ - menor que ou igual
    GTR - maior que
    GEQ - maior que ou igual

e a opção /I, se especificada, informa para fazer comparações de cadeias de
caracteres sem
diferenciação de maiúsculas e minúsculas. A opção /I também pode ser usada na
fórmula cadeia de caracteres1==cadeia de caracteres2 de IF. Essas comparações
são genéricas, pois se cadeia de caracteres1 e cadeia de caracteres2
contiverem todos os dígitos numéricos, as cadeias de caracteres serão
convertidas em números e será executada uma comparação numérica.

A condicional CMDEXTVERSION funciona como ERRORLEVEL, exceto por
comparar com um número de versão interno associado às extensões de comandos
. A primeira versão é 1. Ela será incrementada em um quando
melhoras significativas forem adicionadas às extensões de comandos.
A condicional CMDEXTVERSION nunca é verdadeira quando as extensões de
comandos estão desativadas.

A condicional DEFINED funciona como EXISTS, exceto por usar um nome de
variável de ambiente e ser verdadeira se a variável de ambiente estiver
definida.