if
Windows CMD · Terminal · solo documentación
Qué hace y para qué sirve
Ejecuta una orden solo si se cumple una condición: si existe un fichero, si dos textos son iguales, si el código de error es mayor que un valor...
Sintaxis
if [not] condición orden [else orden]
Opciones y parámetros
exist ficheroCierta si el fichero o carpeta existe.
errorlevel NCierta si el código de salida de la última orden es N o mayor.
defined variableCierta si la variable de entorno está definida.
a==bCierta si los dos textos son iguales; se suelen poner entre comillas.
/iIgnora la diferencia entre mayúsculas y minúsculas en las comparaciones de texto.
notInvierte la condición.
EQU NEQ LSS LEQ GTR GEQOperadores numéricos: igual, distinto, menor, menor o igual, mayor y mayor o igual.
elseOrden que se ejecuta si la condición no se cumple.
Ejemplos de uso
if exist notas.txt echo existeMuestra «existe» solo si el fichero está en la carpeta.
if not exist backup mkdir backupCrea la carpeta backup solo si no existe.
if /i "%OPCION%"=="s" (echo Sí) else (echo No)Compara sin distinguir mayúsculas y elige entre dos respuestas.
if errorlevel 1 echo La orden anterior fallóDetecta un error de la orden anterior.
Notas y errores frecuentes
- else debe ir en la misma línea que el cierre del paréntesis de la orden anterior.
- Pon las variables entre comillas para que un valor vacío no rompa la comparación.