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