作者sicao (adios)
看板C_Sharp
标题[问题] 侦测cmd是否执行完毕&&视窗内容
时间Wed Apr 3 10:39:21 2019
目前需求是:
需执行20个左右的批次档(同时跑比较不花时间)
每个批次档跑完耗时一分半至两分半(依当时情况而定)
跑完的命令提示字元画面并不会关闭 等全部批次档跑完要做另外的用途
目前写了一个console小程式 将需要执行的所有批次档路径写在一文字档上
然後用回圈用Process去一条条执行 待全部批次跑完再做下一步处理
现在我的问题是
要做进一步处理需等全批次档都跑完
1.
但要怎麽知道"批次档跑完 已在等待输入"??
2.
判断是否执行成功与否(从回应讯息判断)
目前都是人工去看
程式有办法去判断批次档吗
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.167.52.153
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1554259164.A.55C.html
1F:推 susty: 我GOOGLE C#中调用CMD命令行截取输出流的范例 或许可以 04/03 11:32
2F:推 gundan: 批次档可以return value,C#里可以抓到这个value 04/03 15:27
3F:→ sicao: 1F说的我试过 不知为何不行(虽然google都是这种方式) 04/05 10:42
4F:→ sicao: 2F的方法星期一再试看看 04/05 10:42
5F:推 Litfal: 批次档的最後面加上exit就会结束了,C#里面可以收到event 04/06 23:30
6F:→ Litfal: 和exitcode 04/06 23:30
7F:→ sicao: 问题是批次档跑完不能关视窗 所以WaitForExit这类的都不能 04/07 11:28
8F:推 Litfal: bat最後执行一个自己写的小程式,做IPC通知主程式 04/07 21:42
9F:推 Litfal: 然後建议再确认一下1F的方法 04/07 21:50
10F:→ sicao: 1F的方法找到的都有个WaitForExit.. 04/09 11:07
11F:→ Litfal: 抓stdout跟WaitForExit没关系喔 04/09 17:26