从当前目录下的cmd.txt文件中读取DOS命令并执行,一行一个命令
C#代码:
string result=string.Empty; string[] all = File.ReadAllLines(@"cmd.txt"); RunCMDCommand(out result, all); MessageBox.Show(result);
public void RunCMDCommand(out string outPut, params string[] command) { using (Process pc = new Process()) { pc.StartInfo.FileName = "cmd.exe"; pc.StartInfo.CreateNoWindow = true;//隐藏窗口运行 pc.StartInfo.RedirectStandardError = true;//重定向错误流 pc.StartInfo.RedirectStandardInput = true;//重定向输入流 pc.StartInfo.RedirectStandardOutput = true;//重定向输出流 pc.StartInfo.UseShellExecute = false; pc.Start(); int lenght = command.Length; foreach (string com in command) { pc.StandardInput.WriteLine(com);//输入CMD命令 } pc.StandardInput.WriteLine("exit");//结束执行,很重要的 pc.StandardInput.AutoFlush = true; outPut = pc.StandardOutput.ReadToEnd();//读取结果 pc.WaitForExit(); pc.Close(); } }
1. 设置可变参数:必须在实参的最后一个;
2.循环执行dos命令
3. 必须 exit进行退出,不然会一直停留在dos,没法返回信息;
参考:https://blog.csdn.net/niuba123456/article/details/90509850