IF
If, reconoce varias situaciones:
valores de error
comparar cadenas
existencia de archivos
comparaciones matematicas
como ya sabemos %ERRORLEVEL% almacena algunos valores de otras funciones.
al hacer
IF ERRORLEVEL 1 @echo ok ELSE @echo no
estariamos preguntando si ERRORLEVEL es 1, si lo es imprime OK, si no, imprime NO.
tambien podemos comparar cadenas, por ejemplo:
@echo off
IF "%~1"=="hola" echo hola
usamos %~1 para que aunque el usuario ponga comillas, no salga error
@echo off
IF /I "%~1"=="hola" echo hola
este codigo, solo responde si dices hola CON minusculas. /I es para hacer mas estricta la comparacion.
ahora, podemos usar IF en varias lineas:
@echo off
IF EXIST %~snx1 (
echo EXISTE!
) ELSE (
echo NO EXISTE
)
con parentesis ().
si vamos a usar comparaciones numericas, debemos usar los siguientes codigos de comparación:
EQU - igual
NEQ - no igual
LSS - menor que
LEQ - menor que o igual
GTR - mayor que
GEQ - mayor que o igual
por ejemplo:
@echo off
echo Cual es tu edad?
SET /P m=
IF %m% GEQ 18 (
echo ERES MAYOR DE EDAD
) ELSE (
echo NO ERES MAYOR DE EDAD
)
que regresa:
C:\Documents and Settings\Administrador\tempcurso>acon
Cual es tu edad?
19
ERES MAYOR DE EDAD
C:\Documents and Settings\Administrador\tempcurso>acon
Cual es tu edad?
17
NO ERES MAYOR DE EDAD
Tambien podemos saber si una variable ya fue definida:
IF DEFINED var (
echo SI
) ELSE (
echo NO
)
Fuente: elhacker.net