zoukankan      html  css  js  c++  java
  • C# 执行CMD命令的方法

    /// <summary>
            /// 执行CMD命令
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static string ExeCmd(string str)
            {
                try
                {
                    //string str = Console.ReadLine();
                    System.Diagnostics.Process p = new System.Diagnostics.Process();
                    p.StartInfo.FileName = "cmd.exe";
                    p.StartInfo.UseShellExecute = false;    //是否使用操作系统shell启动
                    p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
                    p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
                    p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
                    p.StartInfo.CreateNoWindow = true;//不显示程序窗口
                    p.Start();//启动程序
    
                    //向cmd窗口发送输入信息
                    p.StandardInput.WriteLine(str + "&exit");
    
                    p.StandardInput.AutoFlush = true;
                    //p.StandardInput.WriteLine("exit");
                    //向标准输入写入要执行的命令。这里使用&是批处理命令的符号,表示前面一个命令不管是否执行成功都执行后面(exit)命令,如果不执行exit命令,后面调用ReadToEnd()方法会假死
                    //同类的符号还有&&和||前者表示必须前一个命令执行成功才会执行后面的命令,后者表示必须前一个命令执行失败才会执行后面的命令
    
    
    
                    //获取cmd窗口的输出信息
                    string output = p.StandardOutput.ReadToEnd();
    
                    //StreamReader reader = p.StandardOutput;
                    //string line=reader.ReadLine();
                    //while (!reader.EndOfStream)
                    //{
                    //    str += line + "  ";
                    //    line = reader.ReadLine();
                    //}
    
                    p.WaitForExit();//等待程序执行完退出进程
                    p.Close();
    
    
                    Console.WriteLine(output);
                    return output;
                }
                catch (Exception ex)
                {
                    return null;
                }
            }
  • 相关阅读:
    数字索引分页
    经典语录 cloud
    日常交际技巧经验总结100句(大全) cloud
    成大事必备9种能力、9种手段、9种心态 cloud
    浅谈服务器虚拟化
    使用mysqlard监控mysql服务器性能
    CentOS服务器iptables配置
    如何编写好的应用程序
    电子杂志新出路
    泸州老窖集团有限责任公司电子化职能化和网络化的管理新模式
  • 原文地址:https://www.cnblogs.com/testsec/p/6095667.html
Copyright © 2011-2022 走看看