C#调用Windows CMD命令并,返回输出结果或错误信息

 1 public static string InvokeExcute(string Command)
 2 {
 3     Command = Command.Trim().TrimEnd('&') + "&exit";
 4     using (Process p = new Process())
 5     {
 6         p.StartInfo.FileName = "cmd.exe";
 7         p.StartInfo.UseShellExecute = false;        //是否使用操作系统shell启动
 8         p.StartInfo.RedirectStandardInput = true;   //接受来自调用程序的输入信息
 9         p.StartInfo.RedirectStandardOutput = true;  //由调用程序获取输出信息
10         p.StartInfo.RedirectStandardError = true;   //重定向标准错误输出
11         p.StartInfo.CreateNoWindow = true;          //不显示程序窗口
12         p.Start();//启动程序
13         //向cmd窗口写入命令
14         p.StandardInput.WriteLine(Command);
15         p.StandardInput.AutoFlush = true;
16         //获取cmd窗口的输出信息
17         StreamReader reader = p.StandardOutput;//截取输出流
18         StreamReader error = p.StandardError;//截取错误信息
19         string str = reader.ReadToEnd() + error.ReadToEnd();
20         p.WaitForExit();//等待程序执行完退出进程
21         p.Close();
22         return str;
23     }
24 }

 

posted @ 2018-11-19 16:32  千丶吻  阅读(6368)  评论(2编辑  收藏  举报