2012-02-17 28 views
0

我有一個批處理腳本,它可以在循環中觸發帶有命令行輸入的exe(C++代碼)。如何使批處理文件在觸發的exe崩潰時繼續運行

該代碼,這是這樣的:

for /f %%j in (file.txt) do (
"MyExe.exe" "input\MyInput_%%j.txt" 
) 

「file.txt的」包含輸入文件名列表。問題是,有時我的EXE崩潰的一些輸入文件。當它崩潰時,腳本停止運行並需要手動干預。

如何解決這個問題,以便當exe exe崩潰時,我的腳本可以只顯示一條消息,並繼續執行下一個輸入?

我在Windows XP上運行腳本,但無OS的解決方案會更好。

回答

1

嘗試在另一個實例中運行它。這樣的事情:

for /f %%j in (file.txt) do (
    cmd.exe /C "MyExe.exe" "input\MyInput_%%j.txt" 
) 
+0

:但不會這對所有輸入啓動一個新的cmd提示?如果是,那麼這將立即啓動許多cmd提示,並會增加我的電腦負擔。 – Garfield 2012-02-17 07:45:36

+0

是的。但cmd提示將關閉,執行結果將返回到主批處理文件。當然,你將不得不拿起返回值,並根據它顯示一個合適的信息。但是bat-file應該繼續運行。 – 2012-02-17 07:51:09

+0

還有一個啓動命令,但我不確定它是如何工作的,如果執行崩潰。 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/start.mspx?mfr=true – 2012-02-17 07:56:37

相關問題