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 o start /wait, cmd.exe termina junto con el archivo que lo llamó.
@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.