exit - Salir del programa
¿Qué es el comando exit?
El comando exit finaliza el símbolo del sistema (cmd.exe) o un archivo por lotes. Al salir, también se puede especificar un código de salida.
Esta página explica el uso básico del comando exit, la diferencia de comportamiento con la opción /b y cómo funcionan los códigos de salida, con ejemplos de código.
Cómo usar el comando exit
exit [/b] [<código_de_salida>]
| Opción | Descripción |
|---|---|
/b | Finaliza solo el archivo por lotes (o subrutina) que ejecutó exit, sin cerrar cmd.exe. |
<código_de_salida> | Especifica el código de salida como número. Consulte “Especificación del código de salida” para saber qué ocurre si se omite. |
exit sin opciones
Sin opciones, exit finaliza el propio cmd.exe y se cierra la ventana del símbolo del sistema.
Lo mismo ocurre dentro de un archivo por lotes. Aunque se haya invocado con call, cmd.exe termina junto con el archivo que lo llamó.
El comando start inicia un nuevo cmd.exe, por lo que exit en un archivo por lotes iniciado con start solo cierra esa nueva ventana.
@echo off
setlocal
call callee.cmd
rem El siguiente comando no se ejecuta
pause
endlocal
@echo off
setlocal
exit
endlocal
Prepare los dos archivos anteriores y ejecute el siguiente comando.

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Como exit en callee.cmd finaliza cmd.exe, el pause de caller.cmd no se ejecuta y la ventana se cierra.
Opción /b
Con /b, cmd.exe no se cierra. Solo finaliza el archivo por lotes que ejecutó exit /b y el control vuelve al llamador.
Reescriba callee.cmd de la siguiente manera (caller.cmd no cambia).
@echo off
setlocal
exit /b
endlocal
caller.cmd continúa, por lo que se ejecuta el comando pause.
Si ejecuta exit /b fuera de un archivo por lotes (escrito directamente en el símbolo del sistema), cmd.exe se cierra.
Especificación del código de salida
En <código_de_salida>, especifique el código de salida como número.
- Con
/b: el valor se asigna a%errorlevel%y el archivo por lotes llamador puede leerlo. Si omite el número, como enexit /b, se conserva el%errorlevel%actual. - Sin
/b: el valor pasa a ser el código de salida del procesocmd.exe, que el programa llamador puede leer (por ejemplo, al iniciarlo concmd /c).
Reescriba caller.cmd y callee.cmd de la siguiente manera.
@echo off
setlocal
call callee.cmd
echo Se ha especificado el código de salida %errorlevel%
pause
endlocal
@echo off
setlocal
exit /b 100
endlocal
Cuando se ejecute el comando anterior, se mostrará la siguiente salida.
Los códigos de salida sirven para bifurcar con if errorlevel o %errorlevel%. Consulte la siguiente página para más detalles.