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 }