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 }