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 fichero

    Cierta si el fichero o carpeta existe.

  • errorlevel N

    Cierta si el código de salida de la última orden es N o mayor.

  • defined variable

    Cierta si la variable de entorno está definida.

  • a==b

    Cierta si los dos textos son iguales; se suelen poner entre comillas.

  • /i

    Ignora la diferencia entre mayúsculas y minúsculas en las comparaciones de texto.

  • not

    Invierte la condición.

  • EQU NEQ LSS LEQ GTR GEQ

    Operadores numéricos: igual, distinto, menor, menor o igual, mayor y mayor o igual.

  • else

    Orden que se ejecuta si la condición no se cumple.

Ejemplos de uso

  • if exist notas.txt echo existe

    Muestra «existe» solo si el fichero está en la carpeta.

  • if not exist backup mkdir backup

    Crea 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.

Comandos relacionados