批处理命令,是执行速度最快效益最高的命令。因为批处理命令,说白了,就是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. 转:CodeCube提供可共享、可运行的代码示例

    CodeCube是一个新服务和开源项目,旨在让开发者能够通过浏览器以一种安全的方式分享并运行代码示例从而提升协作. 最初发布的服务可以从codecube.io上获取,支持Ruby.Python.Go及 ...

  2. 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms

    题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...

  3. white-space norma nowrap强制同一行内显示所有文本文字,让所有文字内容中一排显示不换行

    日常我们为了让文字内容在一行内显示完,哪怕宽度不够也不能换行,我们可以使用white-space样式,但如果遇到了html br强制换行标签,无论是设置white-space与否都会被<br&g ...

  4. 什么是C#,.NET,ASP.NET?

    C#,.NET,ASP.NET这三个词,对于大家并不陌生,最近花了点时间去了解了下.最终才发现我以前的理解有些偏差.现在分享给大家. 什么是C#?      C#是微软公司发布的一种面向对象的.运行于 ...

  5. sqlserver 时间格式化

    SELECT CONVERT(varchar(), GETDATE(), ) :12AM SELECT CONVERT(varchar(), GETDATE(), ) // SELECT CONVER ...

  6. Android之路-------浅淡Android历史、系统架构与开发特色

    前言 离上一篇发表的博客差不多有两个星期了吧,相信有些博友差点就对LP失望了,因为上一篇博文中说了,这次不管怎样,LP都会坚持写博客的. 由于工作关系LP才隔了这么久才再次发表博文,这篇博文主要是总结 ...

  7. Hot to get clicked cell column in DevExpress XtraGrid

    To accomplish this task, use the GridView.RowCellClickevent. Please note that this event will not fi ...

  8. shell如何将文件上传至ftp

    #!/bin/bash ip=$ port=$ user=$ /usr/bin/lftp -p $port $ip <<EOF user $user $pwd set ftp:ssl-au ...

  9. Java并发编程:sleep、wait、yield对比

    首先,wait()和notify(),notifyAll()是Object类的方法,sleep()和yield()是Thread类的方法. (1).常用的wait方法有wait()和wait(long ...

  10. javascript表单行为效果展示

    效果如下 以上效果是在点击下一步的时候触发的效果显示 代码如下 ////加工厂$(function() { $("#planttwo").click(function () { v ...