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则表明了,在批处理命令之后自动换行。
ASP.NET执行cmd命令的更多相关文章
- asp.net执行cmd命令(包括第三方应用的命令行)
Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = ...
- ASP.Net执行cmd命令的实现代码
using System; using System.Collections; using System.Configuration; using System.Data; using System. ...
- JAVA之执行cmd命令
感言在前:时隔好久没有更新博客园了,忙东忙西也没忙出个什么之所以然来.回首过去一两个月,只能用“疲倦”两个字来形容,而且是身心疲惫.每天11.12个小时的工作我都没觉得烦,但是总是想克服却又很难克服的 ...
- [转]Delphi执行CMD命令
今天看到有人在问用代码执行CMD命令的问题,就总结一下用法,也算做个备忘. Delphi中,执行命令或者运行一个程序有2个函数,一个是winexec,一个是shellexecute.这两个大家应该都见 ...
- C# 执行CMD 命令
/// <summary> /// 执行CMD 命令 /// </summary> /// <param name="strCommand">命 ...
- C# 执行CMD命令的方法
/// <summary> /// 执行CMD命令 /// </summary> /// <param name="str"></para ...
- 如何使用Java执行cmd命令
用JAVA代码实现执行CMD命令的方法! Runtime rt = Runtime.getRuntime(); Process p = rt.exec(String[] cmdarray); ...
- java执行cmd命令并获取输出结果
1.java执行cmd命令并获取输出结果 import java.io.BufferedReader; import java.io.InputStreamReader; import org.apa ...
- 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 ...
随机推荐
- Web日志分析
http://www.rising.com.cn/newsletter/news/2013-03-20/13380.html https://www.trustwave.com/Resources/S ...
- Sequence
http://poj.org/problem?id=2442 用STL写的时间为:5657MS #include<cstdio> #include<algorithm> #in ...
- 产生文件命令touch,echo,cat<<EOF>test,less,more,tail,head
. 输出命令 echo,cat,管道(|),tee,重定向(>, >>)等 . 创建一个文件:用 touch.echo.cat.tee, 重定向(>, >>)等 [ ...
- MFC对话框应用程序添加自定义消息
1. 定义自定义消息 /** * \brief 消息测试 */ #define E6100_MSG_TEST ( WM_USER + 1001 ) 2. 声明自定义消息处理函数 /* ...
- HDOJ 1028 Ignatius and the Princess III(递推)
Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...
- Oracle分页查询与RowNum
1. RowNum伪列 Oracle中,RowNum是一个伪列,表示当前记录是查询结果集中的第几条. RowNum在使用上应该注意,不能在where条件中用RowNum大于.大于等于.等于某个大于1的 ...
- 转:有关Java泛型的类型擦除(type erasing)
转载自:拈花微笑 自从Java 5引入泛型之后,Java与C++对于泛型不同的实现的优劣便一直是饭后的谈资.在我之前的很多training中,当讲到Java泛型时总是会和C++的实现比较,一般得出的结 ...
- SCGHR 系统设计
1.表,弄清表的意义,表是系统的核心.
- jquery切换tab标签例子
之前做了一个简单的小效果,使用jquery方式,让tab标签切换,效果如下 代码其实很简单,首先先把代码分享给大家,代码如下 var shoptoggle = $('.shoptoggle .shop ...
- lesson4:使用锁Lock来解决重复下单的问题
demo源码:https://github.com/mantuliu/javaAdvance 中的类Lesson4IndependentLock 在上一节中,我们分析了Lock的源代码并一起实践了粗粒 ...