这里相对简单的事情没有一个容易发现的答案......我已经尝试了 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
。这是 goto
和 gosub
之间的区别。 goto 无条件地将控制权转移到新位置,而“gosub”允许“返回”到原始调用上下文。
关于batch-file - 为什么我的 .bat 文件在调用另一个 .bat 文件后突然结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27992930/