batch-file - 为什么我的 .bat 文件在调用另一个 .bat 文件后突然结束?

标签 batch-file cmd

这里相对简单的事情没有一个容易发现的答案......我已经尝试了 start、/K 标志等的变体,但是每当我的批处理文件命中 servicecontroller 时行并运行该命令,它完成了命令,但之后不做任何事情。请指教。

cd c:\blackboard\tools\admin
servicecontroller.bat services.stop
echo ! ! ! Blackboard services have successfully stopped. It is now safe to shut down the computer or database server. ! ! !
timeout /15

最佳答案

批处理文件没有任何特定行来自的内存。如果您从批处理文件中执行另一个批处理文件,则原始文件实际上已“消失”。

foo.bat:

echo in foo
bar.bat
echo called bat  <--never called

bar.bat:
echo in bar

baz.bat:
echo in baz
call bar.bat
echo back in baz   <--will be called

注意 call 中的 baz.bat 。这是 gotogosub 之间的区别。 goto 无条件地将控制权转移到新位置,而“gosub”允许“返回”到原始调用上下文。

关于batch-file - 为什么我的 .bat 文件在调用另一个 .bat 文件后突然结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27992930/

相关文章:

windows - BATCH : How to capture the extension of the file, 或如何进行正则表达式之类的模式测试

sql-server-2005 - 从 cmd.exe 执行存储过程?

batch-file - 确定以太网是否已插入/拔出[批处理代码]

java - 如何执行java应用程序(.exe/.jar/.bat)而不显示弹出控制台?

batch-file - Windows BAT如何替换盘符?

windows - 为什么 Windows START 命令不能在参数和路径中使用空格?

batch-file - 在批处理脚本的for循环中重定向命令的输出

linux - 如何自动化 bash 脚本

batch-file - 重命名批处理文件中的文件路径