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.