EXPLICACION AL PARAMETRO %ERRORLEVEL% correspondiente al comando IF
Observe el siguiente ejemplo y su explicacion.
@echo off
format a: /s
if not errorlevel 1 goto final
echo Se produjo un error durante el formato.
:final
echo Fin del programa por lotes.
en este ejemplo queremos formatear la unidad A, pero como ya sabemos los parametros y sintaxis del comando FORMAT esta mal escrito.
solamente recordemos los codigos de salida del comando format.
0 La operación de formato se completó correctamente.
1 Se han escrito parámetros incorrectos.
4 Error fatal (cualquier error distinto de 0, 1 o 5).
5 El usuario ha presionado N para responder al mensaje “¿Desea formatear (S/N)?” y detener el proceso.
observa que en la tercera linea del ejemplo dice: errorlevel 1
¿para que sirve el parametro errorlevel?
errorlevel número Especifica una condición verdadera solamente si el programa anterior ejecutado por Cmd.exe dio un código de salida igual o mayor que número.
Y como ya sabemos al querer formatear nos dara error ¿cual sera el codigo de error que dara format? ¿sera 0, 1, 4, 5? la respuesta es nos dara error 1, es decir codigo de salida 1 porque se han escrito los parametros incorrectamente.
observa que en la tercera linea del ejemplo dice: errorlevel 1 quiere decir que si el codigo de salida es igual o mayor que 1 se utilizara el comando goto y la etiqueta final.
En resumen %errorlevel% solo se ejecutara si el codigo de salida es mayor o igual que x numero.