zoukankan      html  css  js  c++  java
  • C#执行DOS命令(CMD命令)

    在c#程序中,有时会用到调用cmd命令完成一些功能,于是在网上查到了如下方法,实现了
    c#执行DOS命令,并返回结果。

            //dosCommand Dos命令语句
            public string Execute(string dosCommand)
            {
                return Execute(dosCommand, 10);
            }
            /// <summary>
            /// 执行DOS命令,返回DOS命令的输出
            /// </summary>
            /// <param name="dosCommand">dos命令</param>
            /// <param name="milliseconds">等待命令执行的时间(单位:毫秒),
            /// 如果设定为0,则无限等待</param>
            /// <returns>返回DOS命令的输出</returns>
            public static string Execute(string command, int seconds)
            {
                string output = ""; //输出字符串
                if (command != null && !command.Equals(""))
                {
                    Process process = new Process();//创建进程对象
                    ProcessStartInfo startInfo = new ProcessStartInfo();
                    startInfo.FileName = "cmd.exe";//设定需要执行的命令
                    startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
                    startInfo.UseShellExecute = false;//不使用系统外壳程序启动
                    startInfo.RedirectStandardInput = false;//不重定向输入
                    startInfo.RedirectStandardOutput = true; //重定向输出
                    startInfo.CreateNoWindow = true;//不创建窗口
                    process.StartInfo = startInfo;
                    try
                    {
                        if (process.Start())//开始进程
                        {
                            if (seconds == 0)
                            {
                                process.WaitForExit();//这里无限等待进程结束
                            }
                            else
                            {
                                process.WaitForExit(seconds); //等待进程结束,等待时间为指定的毫秒
                            }
                            output = process.StandardOutput.ReadToEnd();//读取进程的输出
                        }
                    }
                    catch
                    {
                    }
                    finally
                    {
                        if (process != null)
                            process.Close();
                    }
                }
                return output;
            }
  • 相关阅读:
    根据当前系统时钟或签名文件的时间戳记核对时,所需要的凭证不在有效期内。
    自定义生成二维码
    MyBatis 开发学习记录
    SPRINGCLOUD 开发学习记录
    DOCKER 开发学习记录
    Spring in action学习笔记
    23种设计模式JAVA 实现目录总结
    访问者模式
    迭代器模式
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/mili3/p/4936765.html
Copyright © 2011-2022 走看看