C#:Process类操控cmd命令,执行并打印

1.引入命名空间

using System.Diagnostics;

2.代码如下:

using System;
using System.Diagnostics;
using System.Windows.Forms;

namespace WindowsFormsApp14 {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e) {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe"; //待执行的文件路径
            p.StartInfo.UseShellExecute = false; //重定向输出,这个必须为false
            p.StartInfo.RedirectStandardError = true; //重定向错误流
            p.StartInfo.RedirectStandardInput = true; //重定向输入流
            p.StartInfo.RedirectStandardOutput = true; //重定向输出流
            p.StartInfo.CreateNoWindow = true; //不启动cmd黑框框
            String pingstr;
            p.Start();
            p.StandardInput.WriteLine("ping -n 1 " + "127.0.0.1"); //向cmd窗口发送输入信息   ping 一次
            //p.StandardInput.WriteLine("helps"); //向cmd窗口发送输入信息  helps命令不存在,所以会有错误信息
            //p.StandardInput.WriteLine("help");
            p.StandardInput.WriteLine("exit");  //这句一定要有 退出
            String strRst = p.StandardOutput.ReadToEnd(); //获取cmd处理输出信息
            String error = p.StandardError.ReadToEnd(); //获取错误信息
            MessageBox.Show(strRst +  "\n错误信息:" + error) ;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38261174/article/details/84949413