EXIT 与 GOTO :EOF 命令的区别

1.  CMD 命令提示符窗口直接运行

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

(2) 运行 EXIT , CMD 将直接关闭并返回到曾启动 cmd.exe 的程序或返回到资源管理器”.

(3) 运行 EXIT /B , CMD 将直接关闭并返回到曾启动 cmd.exe 的程序或返回到资源管理器”.

: 命令 EXIT GOTO :EOF 的用法.

 

 

2.  在批处理文件的最后一个执行语句中使用

(1) 使用 GOTO :EOF

 

@REM TEST.bat

@REM ------------

 

@PAUSE

@GOTO :EOF

 

a)   双击运行 TEST.bat, 运行完成后 CMD 窗口关闭.

b)   CMD 窗口中运行 TEST.bat, 运行完后 CMD 返回并等待下一条命令.

 

(2) 使用 EXIT

 

@REM TEST2.bat

@REM ------------

 

@PAUSE

@EXIT

 

a)   双击运行 TEST2.bat, 运行完成后 CMD 窗口关闭.

b)   CMD 窗口中运行 TEST2.bat, 运行完后 CMD 将直接关闭并返回到曾启动 cmd.exe 的程序或返回到资源管理器”.

 

(3) 使用 EXIT /B

 

@REM TEST3.bat

@REM ------------

 

@PAUSE

@EXIT /B

 

a)   双击运行 TEST3.bat, 运行完成后 CMD 窗口关闭.

b)   CMD 窗口中运行 TEST3.bat, 运行完后 CMD 返回并等待下一条命令.

3.  CALL 命令子标签中使用

(1) 使用 GOTO :EOF, 将返回到 CALL 命令, FOR 循环也将继续迭代.

 

@REM TEST4.bat

@REM ------------

 

@ECHO OFF

FOR /L %%i IN (1,1,3) DO CALL :FUNC%%i

PAUSE

@ECHO ON

@GOTO :EOF

 

:FUNC1

ECHO CALL :FUNC1

GOTO :EOF

 

:FUNC2

ECHO CALL :FUNC2

GOTO :EOF

 

:FUNC3

ECHO CALL :FUNC3

GOTO :EOF

 

(2) 使用 EXIT, 将直接从批处理文件(TEST5.bat)退出, 不能返回到 CALL 命令, FOR 循环迭代被终止.

 

@REM TEST5.bat

@REM ------------

 

@ECHO OFF

FOR /L %%i IN (1,1,3) DO CALL :FUNC%%i

PAUSE

@ECHO ON

@EXIT

 

:FUNC1

ECHO CALL :FUNC1

EXIT

 

:FUNC2

ECHO CALL :FUNC2

EXIT

 

:FUNC3

ECHO CALL :FUNC3

EXIT

 

(3) 使用 EXIT /B, 将返回到 CALL 命令, FOR 循环也将继续迭代.

 

@REM TEST6.bat

@REM ------------

 

@ECHO OFF

FOR /L %%i IN (1,1,3) DO CALL :FUNC%%i

PAUSE

@ECHO ON

@EXIT /B

 

:FUNC1

ECHO CALL :FUNC1

EXIT /B

 

:FUNC2

ECHO CALL :FUNC2

EXIT /B

 

:FUNC3

ECHO CALL :FUNC3

EXIT /B

 

: 命令CALL :label 的用法.

 

4.  例外情况

一些情况下, CMD 窗口中运行 EXIT 并不是退出 CMD.

(1) FTP 子系统中, 运行 ! FTP 子系统临时退出到命令提示符下, 这是运行 EXIT, 将返回到 FTP 子系统.

 

(2) 在命令提示符下嵌套新实例 cmd.exe , 运行 EXIT 将关闭嵌套的命令解释器, 而不是父命令解释器.

5.  关于 GOTO :EOF 的详解

功能: 可以在不定义标签的情况下将控制传送到当前批处理脚本文件的末端.

备注: 必须满足以下两个条件.

(1) 启用了命令扩展(即默认状态);

(2) 使用 GOTO :EOF 标签时, 必须在标签前插入(英文状态)冒号.

6.  关于 EXIT /B [exitCode] 的详解

功能: cmd.exe ERRORLEVEL 设置为指定的 exitCode. 如果退出 cmd.exe, cmd.exe 则使用指定的 exitCode 设置进程退出代码.

@REM TEST7.bat

@REM ------------

 

@ECHO TEST7.bat

@EXIT /B 30194447

CMD 命令提示符下执行:

 

 

 


 

该博客的 Word 格式文档 http://download.csdn.net/source/2730258

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值