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

看板C_Sharp (C#)作者 (adios)時間6年前 (2019/04/03 10:39), 編輯推噓5(506)
留言11則, 4人參與, 6年前最新討論串1/1
目前需求是: 需執行20個左右的批次檔(同時跑比較不花時間) 每個批次檔跑完耗時一分半至兩分半(依當時情況而定) 跑完的命令提示字元畫面並不會關閉 等全部批次檔跑完要做另外的用途 目前寫了一個console小程式 將需要執行的所有批次檔路徑寫在一文字檔上 然後用迴圈用Process去一條條執行 待全部批次跑完再做下一步處理 現在我的問題是 要做進一步處理需等全批次檔都跑完 1. 但要怎麼知道"批次檔跑完 已在等待輸入"?? 2. 判斷是否執行成功與否(從回應訊息判斷) 目前都是人工去看 程式有辦法去判斷批次檔嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.52.153 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1554259164.A.55C.html

04/03 11:32, 6年前 , 1F
我GOOGLE C#中調用CMD命令行截取輸出流的範例 或許可以
04/03 11:32, 1F

04/03 15:27, 6年前 , 2F
批次檔可以return value,C#裡可以抓到這個value
04/03 15:27, 2F

04/05 10:42, 6年前 , 3F
1F說的我試過 不知為何不行(雖然google都是這種方式)
04/05 10:42, 3F

04/05 10:42, 6年前 , 4F
2F的方法星期一再試看看
04/05 10:42, 4F

04/06 23:30, 6年前 , 5F
批次檔的最後面加上exit就會結束了,C#裡面可以收到event
04/06 23:30, 5F

04/06 23:30, 6年前 , 6F
和exitcode
04/06 23:30, 6F

04/07 11:28, 6年前 , 7F
問題是批次檔跑完不能關視窗 所以WaitForExit這類的都不能
04/07 11:28, 7F

04/07 21:42, 6年前 , 8F
bat最後執行一個自己寫的小程式,做IPC通知主程式
04/07 21:42, 8F

04/07 21:50, 6年前 , 9F
然後建議再確認一下1F的方法
04/07 21:50, 9F

04/09 11:07, 6年前 , 10F
1F的方法找到的都有個WaitForExit..
04/09 11:07, 10F

04/09 17:26, 6年前 , 11F
抓stdout跟WaitForExit沒關係喔
04/09 17:26, 11F
文章代碼(AID): #1Sf1pSLS (C_Sharp)
文章代碼(AID): #1Sf1pSLS (C_Sharp)