C#执行DOS命令的方法
程序员文章站
2023-12-16 18:36:58
本文实例讲述了c#执行dos命令的方法。分享给大家供大家参考。具体实现方法如下:
在c#程序中,有时会用到调用cmd命令完成一些功能,本文介绍的如下方法,可实现c#执行d...
本文实例讲述了c#执行dos命令的方法。分享给大家供大家参考。具体实现方法如下:
在c#程序中,有时会用到调用cmd命令完成一些功能,本文介绍的如下方法,可实现c#执行dos命令,并返回结果的功能。
复制代码 代码如下:
//doscommand dos命令语句
public string execute(string doscommand)
{
return execute(doscommand, 10);
}
/// <summary>
/// 执行dos命令,返回dos命令的输出
/// </summary>
/// <param name="doscommand">dos命令</param>
/// <param name="milliseconds">等待命令执行的时间(单位:毫秒),
/// 如果设定为0,则无限等待</param>
/// <returns>返回dos命令的输出</returns>
public static string execute(string command, int seconds)
{
string output = ""; //输出字符串
if (command != null && !command.equals(""))
{
process process = new process();//创建进程对象
processstartinfo startinfo = new processstartinfo();
startinfo.filename = "cmd.exe";//设定需要执行的命令
startinfo.arguments = "/c " + command;//“/c”表示执行完命令后马上退出
startinfo.useshellexecute = false;//不使用系统外壳程序启动
startinfo.redirectstandardinput = false;//不重定向输入
startinfo.redirectstandardoutput = true; //重定向输出
startinfo.createnowindow = true;//不创建窗口
process.startinfo = startinfo;
try
{
if (process.start())//开始进程
{
if (seconds == 0)
{
process.waitforexit();//这里无限等待进程结束
}
else
{
process.waitforexit(seconds); //等待进程结束,等待时间为指定的毫秒
}
output = process.standardoutput.readtoend();//读取进程的输出
}
}
catch
{
}
finally
{
if (process != null)
process.close();
}
}
return output;
}
public string execute(string doscommand)
{
return execute(doscommand, 10);
}
/// <summary>
/// 执行dos命令,返回dos命令的输出
/// </summary>
/// <param name="doscommand">dos命令</param>
/// <param name="milliseconds">等待命令执行的时间(单位:毫秒),
/// 如果设定为0,则无限等待</param>
/// <returns>返回dos命令的输出</returns>
public static string execute(string command, int seconds)
{
string output = ""; //输出字符串
if (command != null && !command.equals(""))
{
process process = new process();//创建进程对象
processstartinfo startinfo = new processstartinfo();
startinfo.filename = "cmd.exe";//设定需要执行的命令
startinfo.arguments = "/c " + command;//“/c”表示执行完命令后马上退出
startinfo.useshellexecute = false;//不使用系统外壳程序启动
startinfo.redirectstandardinput = false;//不重定向输入
startinfo.redirectstandardoutput = true; //重定向输出
startinfo.createnowindow = true;//不创建窗口
process.startinfo = startinfo;
try
{
if (process.start())//开始进程
{
if (seconds == 0)
{
process.waitforexit();//这里无限等待进程结束
}
else
{
process.waitforexit(seconds); //等待进程结束,等待时间为指定的毫秒
}
output = process.standardoutput.readtoend();//读取进程的输出
}
}
catch
{
}
finally
{
if (process != null)
process.close();
}
}
return output;
}
希望本文所述对大家的c#程序设计有所帮助。