在.net中悄悄执行dos命令,并获取执行的结果
来源:互联网 发布:藏头诗软件 编辑:程序博客网 时间:2024/05/18 09:21
本文阐述了如何在.net中悄悄的执行dos命令,并通过重定向输出来返回结果的方式。
一、怎样使dos命令悄悄执行,而不弹出控制台窗口?
1.需要执行带“/C”参数的“cmd.exe”命令,它表示执行完命令后立即退出控制台。
2.设置startInfo.UseShellExecute = false; //不使用系统外壳程序启动进程
3.设置startInfo.CreateNoWindow = true; //不创建窗口
二、怎样得到dos命令的执行结果?
1.设置startInfo.RedirectStandardOutput = true; //重定向输出,而不是默认的显示在dos控制台
2.使用process.StandardOutput来读取结果。
三、源程序
我将这一系列操作都封装到了类DosCommandOutput的方法Execute中,请看下面:
using System;
using System.Text;
using System.Diagnostics;
namespace Wuya.GetDosCommandOutput
{
/// <summary>
/// DOS命令输出类
/// </summary>
class DosCommandOutput
{
/// <summary>
/// 执行DOS命令,返回DOS命令的输出
/// </summary>
/// <param name="dosCommand">dos命令</param>
/// <returns>返回输出,如果发生异常,返回空字符串</returns>
public static string Execute(string dosCommand)
{
return Execute(dosCommand, 60 * 1000);
}
/// <summary>
/// 执行DOS命令,返回DOS命令的输出
/// </summary>
/// <param name="dosCommand">dos命令</param>
/// <param name="milliseconds">等待命令执行的时间(单位:毫秒),如果设定为0,则无限等待</param>
/// <returns>返回输出,如果发生异常,返回空字符串</returns>
public static string Execute(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;
}
}
}
四、使用示例
txtResult.Text=DosCommandOutput.Execute(txtCommand.Text);
http://blog.chinahr.com/blog/hankwen/post/97596
- 在.net中悄悄执行dos命令,并获取执行的结果
- 在.net中悄悄执行dos命令,并获取执行的结果
- 在.net中悄悄执行dos命令,并获取执行的结果
- 在.net中悄悄执行dos命令,并获取执行的结果
- 在C#中执行dos命令并返回结果字符串
- Donet中dos命令悄悄执行
- 在VC下执行DOS命令并得到返回结果
- selenium在执行phantomjs的API并获取执行结果
- c#.NET 调用命令控制台 并获取执行结果
- C语言-程序中执行cmd命令并获取结果
- 执行命令并获取结果函数
- java调用DOS并获取执行中bat的输出
- java 执行shell命令,并获取执行结果
- 在python中执行shell命令,并以字符串形式返回命令执行结果
- 在sql中执行dos命令
- 在java程序中执行dos命令
- 在c++程序中执行DOS命令
- 转载:C程序中如何获取命令执行的结果
- 10个魔戒和55条箴言,涵盖人生方方面面
- 中国"龙芯"战略彻底失败,无奈购美公司专利授权
- tomcat5常见目录分布与代表意义及其类的加载顺序
- 对ASP.NET三层架构的一点认识
- VC 删除Tree某一结点下所有子结点
- 在.net中悄悄执行dos命令,并获取执行的结果
- 9个最好的Rich Text编辑器
- 555定时器及其应用
- 条款21:必须返回对象时,别妄想返回其reference
- [转]ASP技术网站静态页面生成及网站数据采集的攻防
- js再论call和apply
- VC中一些控件的小技巧
- 好书热评:书评:程序员的自我修养--链接、装载与库
- 各种软件的开发和网站的制作