Batch file 为什么我的.bat文件在调用另一个.bat文件后突然终止?

Batch file 为什么我的.bat文件在调用另一个.bat文件后突然终止?,batch-file,cmd,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 t

这里比较简单,没有容易发现的答案……我尝试了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
baz.bat:

echo in baz
call bar.bat
echo back in baz   <--will be called
baz中的回声 呼叫棒.bat
echo back在baz中,我在调用的脚本中提到了exit命令。完成后,它不会返回到调用脚本,但会退出命令行。
我删除了exit命令,它现在将控制权返回到调用脚本

Use
CALL servicecontroller.bat services.stop
在创建此问题之前,我也尝试过调用,但仍然不起作用。还有其他想法吗?检查黑板.bat文件中发生了什么。它可能会终止批处理过程,而不是允许正常的“结束运行”终止。是的,我刚刚做了,最后一个命令是popd命令。烦人的典型的黑板。我通常在每个.bat命令之前使用
CALL
,但在本例中,我从一个Electron main调用了一系列.bat文件,无法超出第一个。如果我手动结束一个,下一个将出现-从.bat命令中取出
调用
,为我解决了这个问题-谢谢!
echo in baz
call bar.bat
echo back in baz   <--will be called