最近在一個項目中,須要在C#中調用cmd窗口來執行一個命令,使用到了Process這個類,使用過程當中遇到很多問題,好在終於解決了。趕忙記錄下來。spa
Process process = new Process(); process.StartInfo.FileName = "cmd.exe"; process.StartInfo.WorkingDirectory = "C:\\Program Files\\GPAC";//由於我要調用的是第三方程序的一個exe命令,因此,必需要把路徑設爲exe所在的目錄 process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true; process.StartInfo.RedirectStandardInput = true; process.StartInfo.RedirectStandardError = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.Verb = "runas";//這一句話要帶上,確保以管理員權限執行命令,及時程序是以Administrator帳號運行的,這句話也要帶上 if (process.Start()) { process.StandardInput.WriteLine(cmdstr);//cmdstr就是要執行的命令語句 process.StandardInput.WriteLine("exit"); } //process.WaitForExit();//以這種方式使用Process的時候,這句話能夠不要 string error = process.StandardError.ReadToEnd();//輸出錯誤信息 string test = process.StandardOutput.ReadToEnd();//輸出程序執行完以後的輸出信息