Comando: if
IF realiza el procesamiento condicional en programas por lotes.
IF es un comando de PROGRAMAS POR LOTES / AUTOEXEC.BAT.
También se puede utiliar en la línea de comandos.
Sintaxis:
IF [NOT] ERRORLEVEL Numero comando
IF [NOT] cadena1==cadena2 comando
IF [NOT] EXIST nombre_archivo comando
unidad La letra de la unidad, p.ej. C:
ruta El directorio, p.ej. \ejemplo\
nombre_archivo El archivo, p.ej. texto.txt
Opciones:
NOT Especifica que comando del shell se tiene que
llevar a cabo, sólo se ejecuta si la condición es
falsa. (Sin esto, el comando se ejecutará si la
condición es cierta)
ERRORLEVEL Número Especifica una condición verdadera si se ejecuta el
último programa devolviendo un código de salida
igual o mayor que el número especificado.
comando Espcifica el comando a ejecutar si la condición se
cumple.
cadena1==cadena2 Especifica una condición verdadera si el texto
especificado en las cadenas coinciden.
EXIST nombre_archivo Especifica una condición verdadera si el nombre del
archivo especificado existe.
Comentarios:
ERRORLEVEL numero: 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 para
salir 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][ruta] Si el archivo dado está ahí, entonces la condición
nombre_archivo es verdadero.
IF es un comando interno de command.com y no necesita otro archivo para
que funcione.
Ejemplos:
EN UN ARCHIVO .BAT / AUTOEXEC.BAT:
if exist c:\kernel.sys ECHO núcleo existe
(da un mensaje si el núcleo existe)
set A=freedos
set B=freedos
set C=otherdos
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 "otherdos", entonces no apacererá
mensaje)
if not %A%==%C% ECHO A y C no son la misma cadena
(A es "freedos", C es "otherdos", ya que NO son el mismo
mensaje, aparecerá el mensaje)
Ver también:
autoexec.bat
archivo por lotes
choice
goto
------------------------------------------------------------------------------
Copyright (C) 2003 Robert Platt, Modificado en 2007 por W. Spiegl.
Traducido en 2018 por Lorenzo del Toro Saravia.
Este archivo se deriva del FreeDOS Spec Command HOWTO.
Ver el archivo H2Cpying para las condiciones de copiado.