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

2010-08-28 10:53:37来源:西部e网作者:

  /// <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;

  }

关键词:ASP.NET

赞助商链接: