Abr 16

If (Comandos de MS-Dos)

compártelo en Facebook!

Realiza el procesamiento condicional de los programas por lotes.

IF [NOT] ERRORLEVEL número comando
IF [NOT] cadena1==cadena2 comando
IF [NOT] EXIST archivo comando

NOT Especifica que Windows XP debe llevar a cabo el
comando sólo si la condición es falsa.

ERRORLEVEL número Especifica una condición verdadera si el último
programa que se ejecutó devolvió un código de salida
igual o mayor que el número especificado.

cadena1==cadena2 Especifica una condición verdadera si las cadenas de
texto especificadas coinciden.

EXIST archivo Especifica una condición verdadera si el archivo
Especificado existe.

comando Especifica el comando que se ejecutará si se cumple la
condición. Comando puede ir seguido de la palabra.
clave ELSE y, a continuación, un comando que se
ejecutará si la condición especificada es FALSA

La cláusula ELSE debe aparecer en la misma línea que la del comando que
sigue al IF Por ejemplo:

IF EXIST archivo. (
del archivo.
) ELSE (
echo archivo. no existente.
)

Lo siguiente NO funcionará porque el comando DEL debe terminarse con una
nueva línea:

IF EXIST archivo. del archivo. ELSE echo archivo. no existente

Tampoco funcionará lo siguiente, ya que el comando ELSE debe estar en la
misma línea del comando IF:

IF EXIST archivo. del archivo.
ELSE echo archivo. no existente

Si desea tenerlo todo en una misma línea, lo siguiente funcionaría:

IF EXIST archivo. (del archivo.) ELSE echo archivo. no existente

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 /l, si se especifica, realiza comparaciones de cadena que no di
stinguen 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 n
uméricos, entonces las cadenas se convierten a números y se realiza una comparac
ión numérica.

El condicional CMDEXTVERSION funciona sólo 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 sólo como EXISTS excepto cuando toma un
nombre de variable de entorno y vuelve como verdadero si se define la
variable de entorno.

%ERRORLEVEL% se expandirá a una representación de cadena del valor actual
de ERRORLEVEL, siempre y cuando no exista ya una variable de entorno con el
nombre ERRORLEVEL, en cuyo caso obtendrá su valor.

Después de ejecutar un programa, lo siguiente ilustrará el uso de ERRORLEVEL

goto answer%ERRORLEVEL%
:respuesta0
echo Programa ha devuelto el código 0
:respuesta1
echo Programa ha devuelto el código 1

También puede usar las comparaciones numéricas anteriores:

IF %ERRORLEVEL% LEQ 1 goto okay

%CMDCMDLINE% se expandirá a una línea de comando original pasada al anterior
CMD.EXE a cualquier proceso CMD.EXE, siempre y cuando no exista ya una
variable de entorno con el nombre CMDCMDLINE, en cuyo caso obtendrá su valor.

%CMDEXTVERSION% se expandirá a una representación de la cadena del valor
actual CMDEXTVERSION, siempre y cuando no exista ya una variable de entorno
con el nombre CMDEXTVERSION, en cuyo caso obtendrá su valor

Enlace permanente a este artículo: http://www.borhaps.es/if-comandos-de-ms-dos/

publi

1 ping

  1. […] extendidos en modo gráfico. HELP Proporciona información de ayuda para los comandos de Windows. IF Ejecuta procesos condicionales en programas por lotes. LABEL Crea, cambia o elimina la etiqueta del […]

Los comentarios han sido desactivados.