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

http://www.cnblogs.com/seaven/archive/2009/08/12/1544420.html

 

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

 

 

 

http://dotnet.chinaitlab.com/CSharp/793218.html

tbResult.Text = "";

  ProcessStartInfo start = new ProcessStartInfo("Ping.exe"); //设置运行的命令行文件问ping.exe文件,这个文件系统会自己找到

  //如果是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe

  start.Arguments = txtCommand.Text; //设置命令参数

  start.CreateNoWindow = true; //不显示dos命令行窗口

  start.RedirectStandardOutput = true; //

  start.RedirectStandardInput = true; //

  start.UseShellExecute = false; //是否指定操作系统外壳进程启动程序

  Process p=Process.Start(start);

  StreamReader reader = p.StandardOutput; //截取输出流

  string line = reader.ReadLine(); //每次读取一行

  while (!reader.EndOfStream)

  {

  tbResult.AppendText(line+" ");

  line = reader.ReadLine();

  }

  p.WaitForExit(); //等待程序执行完退出进程

  p.Close(); //关闭进程

  reader.Close(); //关闭流

 

 

 

 

 

 

 

string output = ""; //输出字符串
        if (dosCommand != null && dosCommand != "")
        {
            Process process = new Process(); //创建进程对象
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = "cmd.exe"; //设定需要执行的命令
            //startInfo.Arguments = "/C " + dosCommand; //设定参数,其中的“/C”表示执行完命令后马上退出
            //startInfo.Arguments = dosCommand;
            startInfo.UseShellExecute = false; //不使用系统外壳程序启动
            startInfo.RedirectStandardInput = true; //不重定向输入
            startInfo.RedirectStandardOutput = true; //重定向输出
            startInfo.CreateNoWindow = true; //不创建窗口
            startInfo.RedirectStandardError = true;

            process.StartInfo = startInfo;
            try
            {
                if (process.Start()) //开始进程
                {
                    process.StandardInput.WriteLine(dosCommand);

                    process.StandardInput.WriteLine("exit");

                    if (milliseconds == 0)
                        process.WaitForExit(); //这里无限等待进程结束
                    else
                        process.WaitForExit(milliseconds); //这里等待进程结束,等待时间为指定的毫秒

                    output = process.StandardOutput.ReadToEnd();//读取进程的输出

                }
            }
            catch
            {
            }
            finally
            {
                if (process != null)
                    process.Close();
            }
        }
           
        return output;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值