差异转到:eof和:eof

时间:2015-07-15 08:34:09

标签: batch-file scripting eof goto

我是批处理脚本的新手。你能告诉我有什么不同吗? 在goto :eof:eof之间?为什么有些人会用感叹号写!ERRORLEVEL!

抱歉这个noob问题,但我还没找到答案。 谢谢!

1 个答案:

答案 0 :(得分:1)

:eof是对End Of File的引用,是一个虚拟标签(不需要定义)跳转到结束当前批处理上下文的位置。

goto是一个用于跳转(中断当前流并在另一个命名点继续)到标签的命令

goto :eof跳转到文件的末尾

errorlevel是一个变量的名称,它保存最后执行的命令的退出代码(如果它设置了它)

如果要检索此变量中的值,请使用%errorlevel%

但是,在批处理文件中,变量在解析时被替换为其值(请阅读here),有时需要向解析器指示不应该执行此操作并使用延迟扩展语法,因此在执行命令之前不会替换变量读取操作。向解析器指示它的语法是!errorlevel!启用了延迟扩展(setlocal enabledelayedexpansion命令)。