exit - Salir del programa

Mantenido el

¿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ónDescripción
/bFinaliza 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.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>exit

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.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>caller.cmd
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

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

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

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

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

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

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかる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
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>caller.cmd

caller.cmd continúa, por lo que se ejecuta el comando pause.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>
caller.cmd
Presione cualquier tecla para continuar …
`/b` fuera de un archivo por lotes

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 en exit /b, se conserva el %errorlevel% actual.
  • Sin /b: el valor pasa a ser el código de salida del proceso cmd.exe, que el programa llamador puede leer (por ejemplo, al iniciarlo con cmd /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
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>caller.cmd

Cuando se ejecute el comando anterior, se mostrará la siguiente salida.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>
caller.cmd
Se ha especificado el código de salida 100
Presione cualquier tecla para continuar …

Los códigos de salida sirven para bifurcar con if errorlevel o %errorlevel%. Consulte la siguiente página para más detalles.

Comandos relacionados con el comando exit

Ejercicios

Problema de práctica

¿Cuál es el propósito del comando “exit” en el símbolo del sistema?

回答がサーバーに送信されることはありません
Problema de práctica

¿Cuál de las siguientes opciones establece correctamente el código de salida especificado?

回答がサーバーに送信されることはありません
Problema de práctica

Se preparan dos archivos por lotes llamados caller.cmd y callee.cmd, y caller.cmd llama a callee.cmd. ¿Qué hará caller.cmd si se ejecuta exit sin opciones en callee.cmd?

回答がサーバーに送信されることはありません
#Símbolo del sistema #Archivos por lotes #Argumentos #Línea de comandos #Comando