2013-02-12 73 views
0

我想從另一批打電話給本地機上的一批。然後我試圖在遠程計算機上啓動服務。這裏是我的代碼:從另一批打電話給一批,然後開始服務

call C:\Oracle\Middleware\user_projects\epm_system\bin\start.bat > SS.log 
sc \\OtherMachine start "Service1" >> SS.log 
sc \\OtherMachine start "Service2" >> SS.log 

我已經證實了我可以不啓動start.bat事先啓動服務。但是,當我嘗試使用第一行代碼調用start.bat時,它會在完成後關閉,而不運行最後兩行。

+0

這是否意味着它不會在你的代碼」執行的最後兩行上面張貼? – 2013-02-12 17:38:09

+0

是的,這就是我要說的。 – 2013-02-12 17:39:01

+0

奇怪。 'start.bat'包含'EXIT'或'GOTO:EOF'命令嗎?如果確實如此,可以嘗試將其更改爲「EXIT/B」。http://www.robvanderwoude.com/exit.php – 2013-02-12 17:51:51

回答

1

您可以在第一批次內調用cmd.exe,如果第二批次包含退出,則不會關閉它。 例如:
call.cmd

cmd /c "c:\temp\test.cmd" 
echo end of first batch 

TEST.CMD

@echo off 
echo test 
exit 

結果:

C:\temp>call.cmd 
test 
end of first batch 
+0

我試過這個,但它沒有工作。不過謝謝你的建議。 – 2013-02-12 19:36:03

+0

@DrewRush請提供更多詳情:錯誤是什麼? start.bat裏面有什麼? – 2013-02-12 19:37:21

+0

沒關係。我按小時計費,所以我只能在任何問題上花費太多時間。我發現了另一種可行的方法。感謝您的時間和興趣,我非常感激。 – 2013-02-12 19:38:33

相關問題