Manejo de errores en secuencias de Batch comandos
Cada lenguaje de secuencias de comandos y programación contiene un controlador de errores como Java contiene try-catch
para el manejo de errores. En un script de Batch, no hay una forma directa de hacer esto, pero podemos crear un controlador de errores en el script de Batch utilizando una variable integrada del nombre del script de Batch %ERRORLEVEL%
.
Este artículo mostrará cómo podemos crear un Batch script para manejar errores y fallas. Además, vamos a algunos ejemplos que facilitan el tema.
Manejo de errores en secuencias de Batch comandos
Cuando un comando se ejecuta con éxito, siempre devuelve un CÓDIGO DE SALIDA
que indica si el comando se ejecutó correctamente o no. Entonces, para crear un manejo de errores en un archivo Batch, podemos usar ese CÓDIGO DE SALIDA
en nuestro programa.
Puede seguir el siguiente formato general para crear un controlador de errores:
@Echo off
SomeCommand && (
ECHO Message for Success
) || (
ECHO Message for Failure or Error
)
También podemos hacerlo comprobando la variable denominada %ERRORLEVEL%
. Si la variable contiene un valor diferente a 0
, entonces puede haber un problema o error al ejecutar el comando. Para probar la variable %ERRORLEVEL%
, puede seguir los siguientes códigos de ejemplo:
@ECHO off
Some Command Here !!!
IF %ERRORLEVEL% NEQ 0 (Echo Error found when running the command &Exit /b 1)
Debe tener en cuenta que la palabra clave NEQ
significa No igual. Y la variable %ERRORLEVEL%
solo contendrá un valor distinto de cero si hay un problema o error en el código.
Un ejemplo que contiene errores
A continuación, compartimos un ejemplo. Ejecutaremos un archivo Batch llamado Tu_archivo.bat
desde una ubicación.
Eliminamos intencionalmente ese archivo del directorio. Así que es un comando de error.
El código de nuestro ejemplo será:
@echo off
ECHO Running a Batch file
CD G:\BATCH\
CALL Your_file.bat
IF errorlevel 1 GOTO ERROR
ECHO The file run successfully.
GOTO EOF
:ERROR
ECHO The file didn't run successfully.
CMD /k
EXIT /b 1
:EOF
Ahora, como el archivo no existe en el directorio, mostrará un error y obtendrá el siguiente resultado cuando ejecute el código compartido anteriormente.
Producción :
Running a Batch file
The system cannot find the path specified.
'Your_file.bat' is not recognized as an internal or external command,
operable program or batch file.
The file didn't run successfully.
Un ejemplo de código sin errores que se ejecuta con éxito
En el ejemplo anterior, cometimos un error en el código intencionalmente para entender cómo funciona el código. Si lo corregimos como a continuación:
@echo off
ECHO Running a Batch file
CALL "G:\BATCH\Yourfile.bat"
IF errorlevel 1 GOTO ERROR
ECHO The file runs successfully.
GOTO EOF
:ERROR
ECHO The file didn't run successfully.
CMD /k
EXIT /b 1
:EOF
Entonces obtendremos una salida como esta:
Running a Batch file
This is from the first file
The file runs successfully.
Recuerde, todos los comandos que discutimos aquí son solo para el símbolo del sistema de Windows o el entorno CMD.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn