2015-01-16 15 views
1

這裏比較簡單的事情沒有一個容易發現的答案...我已經嘗試了變化的開始,/ K標誌等等,但是每當我的批處理文件命中servicecontroller行並運行該命令它完成命令,但不之後做任何事情。請指教。爲什麼我的.bat文件在調用另一個.bat文件後突然結束?

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 
+0

使用'調用servicecontroller.bat services.stop' – adrianm

回答

3

批處理文件沒有任何特定行來自的內存。如果從批處理文件中執行另一個批處理文件,則原始文件基本上「消失」了。

foo.bat:

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

bar.bat:

baz.bat:

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

注意callbaz.bat。它隱約/有點/有點區別gotogosub。 goto無條件地將控制轉移到新的位置,而「gosub」允許「返回」到原始的調用上下文。

+0

我也嘗試過在創建這個問題之前調用,它仍然不起作用。任何其他想法? –

+0

檢查黑板.bat文件中發生了什麼。它可能會殺死批處理進程,而不是允許正常的「終止運行」終止。 –

+0

是的,我剛剛做了,最後一個命令是popd命令。煩人。典型的黑板。 –