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;
                }
            }
  • 相关阅读:
    guava学习--集合2&Range
    guava学习--集合1
    guava学习--FluentIterable
    guava学习--Supplier Suppliers
    guava--Joiner、Splitter、MapJoinner、MapSplitter
    python_输入一个数,判断是否是素数
    python_33_文件操作2
    python_32_文件操作1
    python_31_集合
    python_输出100:200内的素数
  • 原文地址:https://www.cnblogs.com/testsec/p/6095667.html
Copyright © 2011-2022 走看看