• ASP.NET执行cmd命令


     批处理命令,是执行速度最快效益最高的命令。因为批处理命令,说白了,就是ms-dos环境下的命令,有很多的批处理命令,都是纯DOS下的命令。

      然而,批处理命令尽管功能强大,却存在不足之处。批处理命令只能完成基础性的功能,无法完成复杂的网络功能。因此,在很多情况下,程序开发者通常会使用各种开发语言作为开发工具,配合着批处理命令,实现功能强大执行速度较快的项目。

      下面,本站给大家介绍的是,如何在CS结构的C#程序中调用ms-dos窗口运行多条批处理命令

      一、引入命名空间

      首先在CS文件头中,引用如下的代码:

      using System.Diagnostics;

      二、函数代码

      public void MyBatCommand()//名称
    {
       //如下的三个字符串,代表三条批处理命令
    string MyDosComLine1, MyDosComLine2, MyDosComLine3;

       MyDosComLine1 = "cd";//返回根目录命令
    MyDosComLine2 = "cd MyFiles";//进入MyFiles目录
    MyDosComLine3 = "copy *.* e:";//将当前目录所有文件复制粘贴到E盘

    Process myProcess = new Process();
    myProcess.StartInfo.FileName = "cmd.exe ";//打开DOS控制平台 
    myProcess.StartInfo.UseShellExecute = false;
    myProcess.StartInfo.CreateNoWindow = true;//是否显示DOS窗口,true代表隐藏;
    myProcess.StartInfo.RedirectStandardInput = true;
    myProcess.StartInfo.RedirectStandardOutput = true;
    myProcess.StartInfo.RedirectStandardError = true;
    myProcess.Start();
    StreamWriter sIn = myProcess.StandardInput;//标准输入流 
    sIn.AutoFlush = true;
    StreamReader sOut = myProcess.StandardOutput;//标准输入流 
    StreamReader sErr = myProcess.StandardError;//标准错误流 

    sIn.Write(MyDosComLine1 System.Environment.NewLine);//第一条DOS命令 
    sIn.Write(MyDosComLine2 System.Environment.NewLine);//第二条DOS命令 
    sIn.Write(MyDosComLine3 System.Environment.NewLine);//第三条DOS命令
    sIn.Write("exit" System.Environment.NewLine);//第四条DOS命令,退出DOS窗口

    string s = sOut.ReadToEnd();//读取执行DOS命令后输出信息 
    string er = sErr.ReadToEnd();//读取执行DOS命令后错误信息 
    if (myProcess.HasExited == false)
    {
    myProcess.Kill();
    //MessageBox.Show(er);
    }
    else
    {
    //MessageBox.Show(s);
    }

    sIn.Close();
    sOut.Close();
    sErr.Close();
    myProcess.Close();
    }

      部分代码解释:

      想通过c#运行多条批处理命令,我们可以使用如下的格式来添加多条命令。

      sIn.Write(DOS命令代码 System.Environment.NewLine);

      其中,DOS命令代码就是您想执行批处理命令,而System.Environment.NewLine则表明了,在批处理命令之后自动换行。

  • 相关阅读:
    Android 之 Android目录
    Android之新建项目
    Android 所遇问题(一)
    Android运行机制
    C#编程语法积累(二)
    C#编程的语法积累(一)
    MVC4.0网站发布
    SQLServer 之 树查询
    Linux回收站[改写rm防止误删文件无法恢复]
    音视频同步(播放)原理
  • 原文地址:https://www.cnblogs.com/LeeYZ/p/3403723.html
Copyright © 2020-2023  润新知