如何在ASP.NET程序里面执行DOS命令

本文介绍了一种在C#中执行DOS命令并获取其输出的方法。通过创建进程对象并设置相关属性,如命令文件名、参数等,可以实现对外部DOS命令的调用,并能读取命令执行后的输出结果。

/// <summary>
  /// 执行DOS命令,返回DOS命令的输出
  /// </summary>
  /// <param name="dosCommand">dos命令</param>
  /// <param name="milliseconds">等待命令执行的时间(单位:毫秒),如果设定为0,则无限等待</param>
  /// <returns>返回输出,如果发生异常,返回空字符串</returns>
  public static string ExecuteDos(string dosCommand, int milliseconds)
  {
   string output = ""; //输出字符串
   if (dosCommand != null && dosCommand != "")
   {
    Process process = new Process(); //创建进程对象
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = "cmd.exe"; //设定需要执行的命令
    startInfo.Arguments = "/C " + dosCommand; //设定参数,其中的“/C”表示执行完命令后马上退出
    startInfo.UseShellExecute = false; //不使用系统外壳程序启动
    startInfo.RedirectStandardInput = false; //不重定向输入
    startInfo.RedirectStandardOutput = true; //重定向输出
    startInfo.CreateNoWindow = true; //不创建窗口
    process.StartInfo = startInfo;
    try
    {
     if (process.Start()) //开始进程
     {
      if (milliseconds == 0)
       process.WaitForExit(); //这里无限等待进程结束
      else
       process.WaitForExit(milliseconds); //这里等待进程结束,等待时间为指定的毫秒
      output = process.StandardOutput.ReadToEnd();//读取进程的输出
     }
    }
    catch
    {
    }
    finally
    {
     if (process != null)
      process.Close();
    }
   }
   return output;
  }

转载于:https://www.cnblogs.com/chinhr/archive/2006/11/15/560999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值