求助,获得cmd的返回的内容,我只想要运行后获得的内容要怎么写?

qq_21238201 2018-03-20 08:16:58
public string RunCmd(string cmd)
{
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
proc.StandardInput.WriteLine(cmd);
proc.StandardInput.WriteLine("adb devices");
proc.StandardInput.WriteLine("exit");
string outStr = proc.StandardOutput.ReadToEnd();
proc.Close();
return outStr;
}



我只想获得运行完结果的返回值可能是1行可能是N行不确定。 我不想要前面的内容能做到吗???


在线等呢
...全文
344 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
datafansbj 2018-03-21
  • 打赏
  • 举报
回复
你需要在 string outStr = proc.StandardOutput.ReadToEnd(); 前执行 WaitForExit 方法,等待 pro 执行结束后,才能取到完整结果,否则取到的是不完整的。
xuzuning 2018-03-21
  • 打赏
  • 举报
回复
自己按行过滤掉,正确的命令不会有错误的结果
  • 打赏
  • 举报
回复
你的写法没问题,拿到多行之后,用正则匹配,或者截取字符串即可

110,539

社区成员

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

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

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