static string RunCmd(string command)
{
string name="cmd.exe";
string cmd = command;
string starpath = "";
if (File.Exists(command) && command.Trim().Substring(command.Length-3).ToUpper()=="EXE")
{
name =command;
starpath = command.Substring(0,command.LastIndexOf('//'));
cmd = "";
}
//執行個體一個Process類,啟動一個獨立進程
Process p = new Process();
//Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
p.StartInfo.WorkingDirectory = starpath;
p.StartInfo.FileName = name; //設定程式名
p.StartInfo.Arguments = "/c " + cmd; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重新導向標準輸入
p.StartInfo.RedirectStandardOutput = true; //重新導向標準輸出
p.StartInfo.RedirectStandardError = true; //重新導向錯誤輸出
p.StartInfo.CreateNoWindow = true; //設定不顯示視窗
p.Start(); //啟動
p.StandardInput.WriteLine("exit"); //不過要記得加上Exit要不然下一行程式執行的時候會當機
if (starpath=="")
{
starpath = p.StandardOutput.ReadToEnd();
}else
{
starpath = command;
}
p.Close();
return starpath; //從輸出資料流取得命令執行結果
}