代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.NET
】
在.net中悄悄执行dos命令,并获取执行的结果
作者:
/ 发布于
2017/5/9
/
828
一、怎样使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);
试试其它关键字
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3