[問題] 偵測cmd是否執行完畢&&視窗內容

作者: sicao (adios)   2019-04-03 10:39:21
目前需求是:
需執行20個左右的批次檔(同時跑比較不花時間)
每個批次檔跑完耗時一分半至兩分半(依當時情況而定)
跑完的命令提示字元畫面並不會關閉 等全部批次檔跑完要做另外的用途
目前寫了一個console小程式 將需要執行的所有批次檔路徑寫在一文字檔上
然後用迴圈用Process去一條條執行 待全部批次跑完再做下一步處理
現在我的問題是
要做進一步處理需等全批次檔都跑完
1.
但要怎麼知道"批次檔跑完 已在等待輸入"??
2.
判斷是否執行成功與否(從回應訊息判斷)
目前都是人工去看
程式有辦法去判斷批次檔嗎
謝謝
作者: susty (Sty)   2019-04-03 11:32:00
我GOOGLE C#中調用CMD命令行截取輸出流的範例 或許可以
作者: gundan (彈彈的哀傷)   2019-04-03 15:27:00
批次檔可以return value,C#裡可以抓到這個value
作者: sicao (adios)   2019-04-05 10:42:00
1F說的我試過 不知為何不行(雖然google都是這種方式)2F的方法星期一再試看看
作者: Litfal (Litfal)   2019-04-06 23:30:00
批次檔的最後面加上exit就會結束了,C#裡面可以收到event和exitcode
作者: sicao (adios)   2019-04-07 11:28:00
問題是批次檔跑完不能關視窗 所以WaitForExit這類的都不能
作者: Litfal (Litfal)   2019-04-07 21:42:00
bat最後執行一個自己寫的小程式,做IPC通知主程式然後建議再確認一下1F的方法
作者: sicao (adios)   2019-04-09 11:07:00
1F的方法找到的都有個WaitForExit..
作者: Litfal (Litfal)   2019-04-09 17:26:00
抓stdout跟WaitForExit沒關係喔

Links booklink

Contact Us: admin [ a t ] ucptt.com