cmd執行命令
1 Process cmdProcess = new Process(); 2 cmdProcess.StartInfo.FileName = "cmd.exe"; 3 4 cmdProcess.StartInfo.CreateNoWindow = true; // 不創建新窗口 5 cmdProcess.StartInfo.UseShellExecute = false; //不啟用shell啟動進程 6 cmdProcess.StartInfo.RedirectStandardInput = true; // 重定向輸入 7 cmdProcess.StartInfo.RedirectStandardOutput = true; // 重定向標准輸出 8 cmdProcess.StartInfo.RedirectStandardError = true; // 重定向錯誤輸出 9 cmdProcess.StartInfo.CreateNoWindow = true; //不顯示程序窗口 10 11 cmdProcess.Start(); 12 13 //CmdProcess.StartInfo.Arguments = "/c " + strInput; 14 cmdProcess.StandardInput.WriteLine(strInput + "&exit"); 15 cmdProcess.StandardInput.AutoFlush = true; 16 17 string result = cmdProcess.StandardOutput.ReadToEnd(); 18 19 //等待程序執行完退出進程 20 cmdProcess.WaitForExit(); 21 cmdProcess.Close();
也可以使用參數注入,執行cmd
1 Process cmdProcess = new Process(); 2 cmdProcess.StartInfo.FileName = "cmd.exe"; 3 4 cmdProcess.StartInfo.CreateNoWindow = true; // 不創建新窗口 5 cmdProcess.StartInfo.UseShellExecute = false; //不啟用shell啟動進程 6 cmdProcess.StartInfo.RedirectStandardInput = true; // 重定向輸入 7 cmdProcess.StartInfo.RedirectStandardOutput = true; // 重定向標准輸出 8 cmdProcess.StartInfo.RedirectStandardError = true; // 重定向錯誤輸出 9 10 cmdProcess.StartInfo.Arguments = "/c " + cmd; 11 cmdProcess.Start(); 12 string result = cmdProcess.StandardOutput.ReadToEnd(); 13 result = result.Trim(); 14 15 //等待程序執行完退出進程 16 cmdProcess.WaitForExit(); 17 cmdProcess.Close();