在.net中悄悄执行dos命令,并获取执行的结果
来源:互联网 发布:淘宝一键复制在哪里 编辑:程序博客网 时间:2024/05/16 10:52
本文阐述了如何在.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);
- 在.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程序中如何获取命令执行的结果
- ios 动画详解
- 关于spring定时器的搭建
- 运行数据库遇到错误oracle not aviliable解决过程
- Fortran common
- B. Bear and Strings
- 在.net中悄悄执行dos命令,并获取执行的结果
- <item> tag requires a 'drawable' attribute or child tag defining a drawab
- 自定义横向ProgressBar样式圆角改直角
- lua随机数
- plsql连接数据库的方法
- IOS手势初步学习--监听相应的手势处理
- Oracle 10g RAC 客户端连接不稳定
- Ogre材质系统总结(一)
- 发布一个web项目到Internet?