Exit 与 Goto :eof 在批处理中的区别【转】
- 在 CMD 命令提示符窗口直接运行:
1.) 运行 Goto :eof 后,CMD 返回并将等待下一命令。
2.) 运行 Exit 后,CMD 将直接关闭并返回到曾启动 Cmd.exe 的程序或返回到“资源管理器”。
3.) 运行 Exit /b 后,CMD 将直接关闭并返回到曾启动 Cmd.exe 的程序或返回到“资源管理器”。
Exit
退出当前批处理脚本或 Cmd.exe 程序(即,命令解释程序)并返回到曾启动 Cmd.exe 的程序或返回到“程序管理器”。
语法
exit [/b] [ExitCode]
参数
- /b
- 退出当前批处理脚本。
- ExitCode
- 指定数字编号。
- /?
- 在命令提示符显示帮助。
注释
- 如果在批处理脚本之外使用 /b,就会退出 Cmd.exe。
- 如果使用 /b,Cmd.exe 将 ERRORLEVEL 设置为指定的 ExitCode。如果退出 Cmd.exe,Cmd.exe 则使用指定的 ExitCode 设置进程退出代码。
-
在批处理的最后一个执行语句里使用:
1.) 使用 Goto :eof ,双击该批处理,运行完成后 CMD 窗口关闭;在 CMD 中运行此批处理,运行完成后 CMD 返回并将等待下一命令。
@echo off
pause
goto :eof
2.) 使用 Exit ,双击该批处理,运行完成后 CMD 窗口关闭;在 CMD 中运行此批处理,运行完成后 CMD 将直接关闭并返回到曾启动 Cmd.exe 的程序或返回到“资源管理器”。
@echo off
pause
exit
3.) 使用 Exit /b ,双击该批处理,运行完成后 CMD 窗口关闭;在 CMD 中运行此批处理,运行完成后 CMD 返回并将等待下一命令。
@echo off
pause
exit /b
-
在 Call 的子标签中:
1.)
@echo off
for /l %%i in (1 1 3) do call :han%%i
pause&goto :eof
:han1
echo 执行了:han1
goto :eof
echo 多余1
:han2
echo 执行了:han2
goto :eof
echo 多余2
:han3
echo 执行了:han3
goto :eof
echo 多余3使用 Goto :eof ,将返回到 call 命令,for 也将继续循环迭代。
2.)
@echo off
for /l %%i in (1 1 3) do call :han%%i
pause&exit
:han1
echo 执行了:han1
exit
echo 多余1
:han2
echo 执行了:han2
exit
echo 多余2
:han3
echo 执行了:han3
exit
echo 多余3使用 Exit ,批处理将被直接退出,不能返回到 Call ,for 循环迭代被终止。
3.)
@echo off
for /l %%i in (1 1 3) do call :han%%i
pause&exit /b
:han1
echo 执行了:han1
exit /b
echo 多余1
:han2
echo 执行了:han2
exit /b
echo 多余2
:han3
echo 执行了:han3
exit /b
echo 多余3使用 Exit /b ,将返回到 call 命令,for 也将继续循环迭代。
-
特例:
有一些情况下,在 CMD 窗口下运行 Exit 并不是退出 CMD ,例如:
在 Ftp 子系统中,运行 ! ,从 ftp 子系统临时退出到命令提示符下,这时运行 Exit ,将返回到 ftp 子系统。
C:\WINDOWS\system32\命令提示符本文转自http://blog.sina.com.cn/hygxchxz
Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>Ftp
ftp> !Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>Exit
ftp> Quit本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>
本文转自http://blog.sina.com.cn/hygxchxz
智能 ABC 半:
在命令提示符下嵌套新实例 CMD.exe 时,运行 Exit 关闭嵌套的命令行解释器,而不是父命令行解释器。
C:\WINDOWS\system32\命令提示符本文转自http://blog.sina.com.cn/hygxchxz
Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>CMD
Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>Exit
本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>
本文转自http://blog.sina.com.cn/hygxchxz
智能 ABC 半:
-
关于 goto : eof 的详解:
功能:可以在不定义标签的情况下将控制传送到当前批处理脚本文件的末端。
2.) 使用 goto 和 :EOF 标签时,必须在标签前插入冒号。
-
关于 exit /b [ExitCode] 的详解:
功能: Cmd.exe 将 ERRORLEVEL 设置为指定的 ExitCode。如果退出 Cmd.exe,Cmd.exe 则使用指定的 ExitCode 设置进程退出代码。
示例: 必将下面的批处理保存到C盘,并命名为han.bat。
@echo off
echo 命令
exit /b 30194447然后,我们在 CMD 命令提示符下进行操作:
C:\WINDOWS\system32\命令提示符本文转自http://blog.sina.com.cn/hygxchxz
Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>C:\han.bat
命令
本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>Echo %errorlevel%
30194447本文转自http://blog.sina.com.cn/hygxchxz
C:\Documents and Settings\寒夜孤星>
本文转自http://blog.sina.com.cn/hygxchxz
智能 ABC 半:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?