c# 调用cmd的问题

椎名小由奈 2017-10-12 09:54:18
代码:
var p = System.Diagnostics.Process.Start("xxx");
A: p.StandardInput.WriteLine("xxx");
B: p.StandardInput.WriteLine("xxx");
C: p.StandardInput.WriteLine("exit");

问题:
怎么让A命令完全执行完毕后再执行B,
我现在是在A和B之间加了 : System.Threading.Thread.Sleep(2000) ,可以实现,
但是有没有更好一点的办法。
...全文
188 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
椎名小由奈 2017-10-12
  • 打赏
  • 举报
回复
引用 3 楼 closurer 的回复:
可以阻塞的,我的写法: https://gitee.com/bibaoke/Less.Common/blob/master/Less.Common/Less.Windows/CLI/Cmd.cshttps://gitee.com/bibaoke/Less.Common/blob/master/Less.Common/Less.Windows/CLI/Cmd.cs
没太看懂
椎名小由奈 2017-10-12
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
用Task任务,使用ContinueWith方法按顺序执行。
没用过这个,有时间了试一下
椎名小由奈 2017-10-12
  • 打赏
  • 举报
回复
引用 1 楼 Demons1874 的回复:
p.WaitForExit()
试过了,不是这个,这个直接就把进程给结束了。
闭包客 2017-10-12
  • 打赏
  • 举报
回复
可以阻塞的,我的写法: https://gitee.com/bibaoke/Less.Common/blob/master/Less.Common/Less.Windows/CLI/Cmd.cshttps://gitee.com/bibaoke/Less.Common/blob/master/Less.Common/Less.Windows/CLI/Cmd.cs
exception92 2017-10-12
  • 打赏
  • 举报
回复
用Task任务,使用ContinueWith方法按顺序执行。
Demons1874 2017-10-12
  • 打赏
  • 举报
回复
p.WaitForExit()

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧