如何在ASP.NET程序里面执行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;
   }

posted on 2009-08-12 14:11  seaven  阅读(2606)  评论(0编辑  收藏  举报

导航