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