c# 调用CMD窗口执行命令

c# 调用CMD窗口执行命令,第1张

概述  1.c# 调用CMD窗体执行命令 阻塞执行, 并在最后执行完后一次性输出执行结果 public static string RunCmd(string cmd) { //string strInput = Console.ReadLine(); Process p = new Process();

  1.c# 调用CMD窗体执行命令 阻塞执行,并在最后执行完后一次性输出执行结果

        public static string runcmd(string cmd)        {            //string strinput = Console.Readline();            Process p = new Process();            //设置要启动的应用程序            p.StartInfo.filename = "cmd.exe";            //是否使用 *** 作系统shell启动            p.StartInfo.UseShellExecute = false;            // 接受来自调用程序的输入信息            p.StartInfo.RedirectStandardinput = true;            //输出信息            p.StartInfo.RedirectStandardOutput = true;            // 输出错误            p.StartInfo.RedirectStandardError = true;            //不显示程序窗口            p.StartInfo.CreateNowindow = true;            p.StartInfo.windowstyle = Processwindowstyle.normal;            //启动程序            p.Start();            //向cmd窗口发送输入信息            p.Standardinput.Writeline(cmd + "&exit");            p.Standardinput.autoFlush = true;            //获取输出信息            string strOuput = p.StandardOutput.ReadToEnd();            //等待程序执行完退出进程            p.WaitForExit();            p.Close();            return strOuput;            //Console.Writeline(strOuput);        }

  

  2. 调用CMD窗体执行命令  实时获取执行结果并输出 

     public string runcmd(string cmd)        {            try            {                //string strinput = Console.Readline();                Process p = new Process();                //设置要启动的应用程序                p.StartInfo.filename = "cmd.exe";                //是否使用 *** 作系统shell启动                p.StartInfo.UseShellExecute = false;                // 接受来自调用程序的输入信息                p.StartInfo.RedirectStandardinput = true;                //输出信息                p.StartInfo.RedirectStandardOutput = true;                // 输出错误                p.StartInfo.RedirectStandardError = true;                //不显示程序窗口                p.StartInfo.CreateNowindow = true;                p.StartInfo.windowstyle = Processwindowstyle.normal;                p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);                p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);                //启用Exited事件                p.EnableRaisingEvents = true;                p.Exited += new EventHandler(Process_Exited);                //启动程序                p.Start();                p.BeginoutputReadline();                p.BeginErrorReadline();                p.Standardinput.autoFlush = true;                //输入命令                p.Standardinput.Writeline(cmd);                p.Standardinput.Writeline("exit");                //获取输出信息                // string strOuput = p.StandardOutput.ReadToEnd();                //等待程序执行完退出进程                //p.WaitForExit();                //p.Close();                // return strOuput;                return string.Empty;            }            catch (Exception ex)            {                throw ex;            }        }        private voID p_OutputDataReceived(object sender,DataReceivedEventArgs e)        {            if (e.Data != null)            {                Console.Writeline(e.Data);            }        }        private voID p_ErrorDataReceived(object sender,DataReceivedEventArgs e)        {            if (e.Data != null)            {                Console.Writeline(e.Data);            }        }        private voID Process_Exited(object sender,EventArgs e)        {
        Console.Writeline("命令执行完毕");
     }
总结

以上是内存溢出为你收集整理的c# 调用CMD窗口执行命令全部内容,希望文章能够帮你解决c# 调用CMD窗口执行命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1214261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存