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();