C#執(zhí)行DOS命令的方法
更新時間:2014年11月17日 10:46:25 投稿:shichen2014
這篇文章主要介紹了C#執(zhí)行DOS命令的方法,涉及針對進程的調(diào)用以及系統(tǒng)DOS命令的使用,具有不錯的實用價值,需要的朋友可以參考下
本文實例講述了C#執(zhí)行DOS命令的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
在c#程序中,有時會用到調(diào)用cmd命令完成一些功能,本文介紹的如下方法,可實現(xiàn)c#執(zhí)行DOS命令,并返回結(jié)果的功能。
復(fù)制代碼 代碼如下:
//dosCommand Dos命令語句
public string Execute(string dosCommand)
{
return Execute(dosCommand, 10);
}
/// <summary>
/// 執(zhí)行DOS命令,返回DOS命令的輸出
/// </summary>
/// <param name="dosCommand">dos命令</param>
/// <param name="milliseconds">等待命令執(zhí)行的時間(單位:毫秒),
/// 如果設(shè)定為0,則無限等待</param>
/// <returns>返回DOS命令的輸出</returns>
public static string Execute(string command, int seconds)
{
string output = ""; //輸出字符串
if (command != null && !command.Equals(""))
{
Process process = new Process();//創(chuàng)建進程對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//設(shè)定需要執(zhí)行的命令
startInfo.Arguments = "/C " + command;//“/C”表示執(zhí)行完命令后馬上退出
startInfo.UseShellExecute = false;//不使用系統(tǒng)外殼程序啟動
startInfo.RedirectStandardInput = false;//不重定向輸入
startInfo.RedirectStandardOutput = true; //重定向輸出
startInfo.CreateNoWindow = true;//不創(chuàng)建窗口
process.StartInfo = startInfo;
try
{
if (process.Start())//開始進程
{
if (seconds == 0)
{
process.WaitForExit();//這里無限等待進程結(jié)束
}
else
{
process.WaitForExit(seconds); //等待進程結(jié)束,等待時間為指定的毫秒
}
output = process.StandardOutput.ReadToEnd();//讀取進程的輸出
}
}
catch
{
}
finally
{
if (process != null)
process.Close();
}
}
return output;
}
public string Execute(string dosCommand)
{
return Execute(dosCommand, 10);
}
/// <summary>
/// 執(zhí)行DOS命令,返回DOS命令的輸出
/// </summary>
/// <param name="dosCommand">dos命令</param>
/// <param name="milliseconds">等待命令執(zhí)行的時間(單位:毫秒),
/// 如果設(shè)定為0,則無限等待</param>
/// <returns>返回DOS命令的輸出</returns>
public static string Execute(string command, int seconds)
{
string output = ""; //輸出字符串
if (command != null && !command.Equals(""))
{
Process process = new Process();//創(chuàng)建進程對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//設(shè)定需要執(zhí)行的命令
startInfo.Arguments = "/C " + command;//“/C”表示執(zhí)行完命令后馬上退出
startInfo.UseShellExecute = false;//不使用系統(tǒng)外殼程序啟動
startInfo.RedirectStandardInput = false;//不重定向輸入
startInfo.RedirectStandardOutput = true; //重定向輸出
startInfo.CreateNoWindow = true;//不創(chuàng)建窗口
process.StartInfo = startInfo;
try
{
if (process.Start())//開始進程
{
if (seconds == 0)
{
process.WaitForExit();//這里無限等待進程結(jié)束
}
else
{
process.WaitForExit(seconds); //等待進程結(jié)束,等待時間為指定的毫秒
}
output = process.StandardOutput.ReadToEnd();//讀取進程的輸出
}
}
catch
{
}
finally
{
if (process != null)
process.Close();
}
}
return output;
}
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C#中的小數(shù)和百分數(shù)計算與byte數(shù)組操作
這篇文章介紹了C#中的小數(shù)和百分數(shù)計算與byte數(shù)組操作,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04unity實現(xiàn)鼠標經(jīng)過時ui及物體的變色操作
這篇文章主要介紹了unity實現(xiàn)鼠標經(jīng)過時ui及物體的變色操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04解決unity3d導(dǎo)入模型貼圖材質(zhì)丟失的問題
這篇文章主要介紹了解決unity3d導(dǎo)入模型貼圖材質(zhì)丟失的問題,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04