批处理命令,是执行速度最快效益最高的命令。因为批处理命令,说白了,就是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则表明了,在批处理命令之后自动换行。

ASP.NET执行cmd命令的更多相关文章

  1. asp.net执行cmd命令(包括第三方应用的命令行)

    Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = ...

  2. ASP.Net执行cmd命令的实现代码

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  3. JAVA之执行cmd命令

    感言在前:时隔好久没有更新博客园了,忙东忙西也没忙出个什么之所以然来.回首过去一两个月,只能用“疲倦”两个字来形容,而且是身心疲惫.每天11.12个小时的工作我都没觉得烦,但是总是想克服却又很难克服的 ...

  4. [转]Delphi执行CMD命令

    今天看到有人在问用代码执行CMD命令的问题,就总结一下用法,也算做个备忘. Delphi中,执行命令或者运行一个程序有2个函数,一个是winexec,一个是shellexecute.这两个大家应该都见 ...

  5. C# 执行CMD 命令

    /// <summary> /// 执行CMD 命令 /// </summary> /// <param name="strCommand">命 ...

  6. C# 执行CMD命令的方法

    /// <summary> /// 执行CMD命令 /// </summary> /// <param name="str"></para ...

  7. 如何使用Java执行cmd命令

    用JAVA代码实现执行CMD命令的方法! Runtime rt = Runtime.getRuntime(); Process p = rt.exec(String[] cmdarray);     ...

  8. java执行cmd命令并获取输出结果

    1.java执行cmd命令并获取输出结果 import java.io.BufferedReader; import java.io.InputStreamReader; import org.apa ...

  9. Java 调用并执行cmd命令

    cmd java 调用 执行 概要: Java 调用并执行cmd命令 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 ...

随机推荐

  1. beini系列_1_U盘引导制作

    奶瓶(beini)这个系统,是一款基于 Tiny Core Linux 搭建的无线网络安全测试系统,当然由于它是用来安全测试的系统,因此在安全方面自然有着强大的功能.而且,这个系统非常简便易学,因此现 ...

  2. SPSS与聚类分析

    1.进行K均值聚类分析时需要线标准化处理,抛弃量纲差异,比如说数值型变量有的以千记有的以百分数记.2.层次聚类就是先把每个样本都看成一个独立的类:聚类特征(Clustering Feature, CF ...

  3. HADOOP:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable终于解决了

    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin- ...

  4. Keil增量编译build异常

    装完MDK4.6/4.7a,发现没有修改源文件的情况下,单击build,每次都是重新编译,之前测试过重新建立工程/装回4.22,解决了该问题,当时并没多想原因.这次又出现了这个问题,重装了很久,也都这 ...

  5. WIN32程序挂钩SetLastError,输出错误描述到控制台

    WIN32程序挂钩SetLastError,输出错误描述到控制台 作者:徐灵甫 一.窗口模式应用程序(GUI)启用控制台的方法为: 步骤 方法 1 启动/关闭控制台 AllocConsole()Fre ...

  6. (转载)PHP mb_substr函数在实际编码中的应用方法

    (转载)http://developer.51cto.com/art/200912/166080.htm 我们在使用PHP语言进行实际编码中时,通常会遇到许多错误的出现,比如在截取字符串时会出现乱码等 ...

  7. 蓝牙4.0 BLE 开发

    在BLE开发中的一些随记,供大家参考: 凡事皆有状态 低功耗蓝牙背后有个基本的概念:任何事务都有状态.状态可以是任何东西:当前的温度,设备里电池的状态,设备名称或者对测量温度的地点的描述.它通过属性服 ...

  8. The ToolStripMenuItem visible value always false

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/8cf60e57-6d97-43c6-bb3a-394b9bf130af/the-tools ...

  9. hdu4746:2013杭州网络赛I 莫比乌斯反演

    题意: 有5000组询问,每组询问求有多少i,j满足i∈[1,n],j∈[1,m]且gcd(i,j)的质因子数目<=p. n,m<=500000 思路: 首先预处理出每个数的质因子数目分别 ...

  10. Robotium -- 针对apk包的测试

    在使用Robotium测试的时候,有时候,测试人员并没有代码权限,而Robotium也可以在只有apk文件进行测试,下面就介绍一下这个过程. 1.设置环境变量 安装jdk环境和sdk环境 2.安装签名 ...