exit

-------siwuxie095

 

三个退出命令:

exit

exit /b

goto :eof

 

这三个命令都可以退出批处理,但之间有细微差别:

(1)运行 GOTO :EOF 后,CMD返回并将等待下一条命令

(2)运行 EXIT 后,CMD将直接关闭并返回到曾启动cmd.exe

          的程序或返回到资源管理器

(3)运行 EXIT /B 后,CMD将直接关闭并返回到曾启动cmd.exe

          的程序或返回到资源管理器

 

 

goto :eof

在不定义标签的情况下将控制传送到当前批处理脚本文件的末端。

当脚本控制到达脚本的末端,再执行,脚本就自行退出。

goto :eof 即利用这一点来退出脚本(其原理和没有暂停语句的脚本

退出原理一样)

 

 

exit

退出 CMD.EXE 程序或当前批处理脚本

 

语法:   EXIT [/B] [exitCode]

 

/B 指定要退出当前批处理脚本而不是 CMD.EXE。若从一个批处理脚本外执行,

则会退出 CMD.EXE

 

exitCode 指定一个数字。若指定了 /B,将 ERRORLEVEL 设成那个数字。如果

退出 cmd.exe,则用那个数字设置过程代码。

 

 

exit 命令和 goto :eof 不同,它就是确确实实的退出cmd.exe的指令,具备退出功能

 

 

exit /b

表示退出当前批处理脚本而不退出 cmd.exe ,具备关闭功能。但是如果从

一个批处理脚本外执行,则会退出cmd.exe

 

exit /b 可以设置 errorlevel 的值

如:

a.bat

@echo a.bat 调用中
@exit /b 2

 

b.bat

@echo 调用a.bat
@call a.bat
@echo a.bat的返回值:%errorlevel%
@pause

 

运行 b.bat,一览:

 

image


 

 

例外:

 

在CMD中运行 exit,不是退出CMD

 

(1)在 FTP 子系统中,运行 !FTP 子系统临时退出到命令行提示符下,

这时输入 exit 将返回到 FTP 子系统,输入 quit 才会退出 FTP 子系统

image 

 

 

(2)在命令提示符下输入 cmd 嵌套新实例 cmd.exe,运行 exit 将

关闭嵌套的命令解释器(新嵌套的那个),而不是父命令解释器

 

image

 

 

image

 

 

 

 

【made by siwuxie095】

原文地址:https://www.cnblogs.com/siwuxie095/p/6227716.html