gpt4 book ai didi

batch-file - 如何退出批处理功能?

转载 作者:行者123 更新时间:2023-12-03 16:43:27 24 4
gpt4 key购买 nike

所以我想做这样的事情:

@echo off
echo Before
call :test
echo After
pause

:test
echo I'm in test!
:end

echo I shouldn't be here...

这样它会在说 Before 后调用 test和之前说 After .然而,它一直只是说 I shouldn't be here之前说 After !现在,在这个例子中它不一定是一个问题,但是当我有一大堆函数时,它可能是一个相当大的问题。谁能帮帮我吗?谢谢! :)

最佳答案

Batch 没有“节”、“功能”、“过程”或“段落”的概念。标签只是一个引用点。当到达一个标签时,执行不会停止,它只是一行一行地继续执行,直到到达文件结尾,a 调用 , 转到 退出 .这就是为什么你会收到你提到的消息 - 以及为什么 I'm in test!并且“流氓”消息出现在您的 pause 之后(如果您通过“单击”执行批处理,您将看不到它)

您需要goto :eof完成主线后,否则将通过子程序代码继续执行。 :EOFCMD 理解的预定义标签意思是 end of file .冒号是 需要 .

您可以使用 goto :eof终止子例程(到达文件尾会终止例程并返回到 call 之后的语句)或者您可以使用 exitexit /b [n]如文档中所述(se exit /? 来自提示。

使用 exit 的缺点是它将终止cmd实例如果在例程尚未执行时执行 call ed - 即。它是主要例程的一部分 - 因此,goto :eof更受欢迎。

关于batch-file - 如何退出批处理功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48235878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com