Comando: if

  IF realiza un procesamiento condicional en programas por lotes.
  IF es un comando de ARCHIVO POR LOTES / AUTOEXEC.BAT.
  También se puede usar en la línea de comandos.

Sintaxis:

  IF [NOT] ERRORLEVEL numérico Comando
  IF [NOT] cadena1==cadena2 Comando
  IF [NOT] EXIST nombre_archivo Comando
     unidad          La letra de unidad, por ejemplo C:
     ruta            El directorio, por ejemplo \ejemplo\
     nombre_archivo  El archivo, por ejemplo test.txt

Opciones:

  NOT                   Especifica que el shell de comandos debe ejecutar
                        el comando solo si la condición es falsa. (Sin
                        esto, el comando se ejecutará si la condición es
                        verdadera).
  ERRORLEVEL numérico   Especifica una condición verdadera si la última
                        ejecucíon del programa devolvió un código de
                        salida igual o mayor que el número especificado.
  comando               Especifica el comando a ejecutar si se cumple la
                        condición.
  cadena1==cadena2      Especifica una condición verdadera si las cadenas
                        de texto especificadas coinciden.
  EXIST nombre_archivo  Especifica una condición verdadera si existe el
                        nombre de archivo especificado.

Comentarios:

  ERRORLEVEL numérico: Los programas de DOS devuelven un número cuando
                       salen, que a veces contiene información sobre si el
                       programa fue exitoso. Si el último programa que
                       salió devolvió el número dado, entonces la 
                       condición es verdadera.
  cadena1==cadena2     Si las dos cadenas de caracteres son iguales,
                       entonces la condición es verdadera.
  exist [unidad]       Si el archivo dado está allí, entonces la condición
        [ruta]         es verdadera.
        nombre_archivo 

  IF es un comando interno de command.com y no necesita otro archivo
  para funcionar.

Ejemplos:

  EN UN ARCHIVO .BAT / AUTOEXEC.BAT:
    if exist c:\kernel.sys ECHO existe kernel.sys 
                  (da un mensaje si el núcleo existe)
    set A=freedos
    set B=freedos
    set C=otrodos
    if %A%==%B% ECHO A y B son la misma cadena  
                  (A y B son "freedos", por lo que aparecerá el mensaje)
    if %A%==%C% ECHO A y C son la misma cadena
                  (A es "freedos", C es "otrodos", ya que NO son lo mismo,
                   aparecerá el mensaje)
    if not %A%==%C% ECHO A y C no son la misma cadena
                  (A es "freedos", C es "otrodos", ya que NO son lo mismo,
                   aparecerá el mensaje)

Ver también:

  autoexec.bat
  archivo por lotes
  choice
  goto

  Copyright © 2003 Robert Platt, modificado en 2007 por W. Spiegl.
  Traducido en 2020 por Lorenzo del Toro Saravia.

  Este archivo se deriva del comando de especificaciones HOWTO de FreeDOS.
  Consulte el archivo H2Cpying para ver las condiciones de copia.