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

时间:2015-01-16 21:21:06

标签: batch-file cmd

相对简单的事情没有一个容易发现的答案......我尝试过各种各样的开始,/ 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

2 个答案:

答案 0 :(得分:3)

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

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.batgotogosub之间的区别是模糊的/有点/有点的。 goto无条件地将控制转移到新位置,而“gosub”允许“返回”原始调用上下文。

答案 1 :(得分:0)

我在脚本上提到了退出命令。完成后它不会返回到调用脚本,但会退出命令行。 我删除了退出命令,现在它将控制权返回给调用脚本