C#執(zhí)行cmd.exe命令幫助類庫
執(zhí)行多條cmd.exe命令
啟動外部Windows應(yīng)用程序,隱藏程序界面
實現(xiàn)壓縮,需要rar.exe上傳到網(wǎng)站根目錄
/********************************************** * 類作用: 執(zhí)行命令類 * http://www.yunjson.com * ************/ using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace JsonsHelper { /// <summary> /// 執(zhí)行命令 /// </summary> public class CmdUtil { /// /// 執(zhí)行cmd.exe命令 /// ///命令文本 /// 命令輸出文本 public static string ExeCommand(string commandText) { return ExeCommand(new string[] { commandText }); } /// /// 執(zhí)行多條cmd.exe命令 /// ///命令文本數(shù)組 /// 命令輸出文本 public static string ExeCommand(string[] commandTexts) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; string strOutput = null; try { p.Start(); foreach (string item in commandTexts) { p.StandardInput.WriteLine(item); } p.StandardInput.WriteLine("exit"); strOutput = p.StandardOutput.ReadToEnd(); //strOutput = Encoding.UTF8.GetString(Encoding.Default.GetBytes(strOutput)); p.WaitForExit(); p.Close(); } catch (Exception e) { strOutput = e.Message; } return strOutput; } /// /// 啟動外部Windows應(yīng)用程序,隱藏程序界面 /// ///應(yīng)用程序路徑名稱 /// true表示成功,false表示失敗 public static bool StartApp(string appName) { return StartApp(appName, ProcessWindowStyle.Hidden); } /// /// 啟動外部應(yīng)用程序 /// ///應(yīng)用程序路徑名稱 ///進(jìn)程窗口模式 /// true表示成功,false表示失敗 public static bool StartApp(string appName, ProcessWindowStyle style) { return StartApp(appName, null, style); } /// /// 啟動外部應(yīng)用程序,隱藏程序界面 /// ///應(yīng)用程序路徑名稱 ///啟動參數(shù) /// true表示成功,false表示失敗 public static bool StartApp(string appName, string arguments) { return StartApp(appName, arguments, ProcessWindowStyle.Hidden); } /// /// 啟動外部應(yīng)用程序 /// ///應(yīng)用程序路徑名稱 ///啟動參數(shù) ///進(jìn)程窗口模式 /// true表示成功,false表示失敗 public static bool StartApp(string appName, string arguments, ProcessWindowStyle style) { bool blnRst = false; Process p = new Process(); p.StartInfo.FileName = appName;//exe,bat and so on p.StartInfo.WindowStyle = style; p.StartInfo.Arguments = arguments; try { p.Start(); p.WaitForExit(); p.Close(); blnRst = true; } catch { } return blnRst; } /// <summary> /// 實現(xiàn)壓縮,需要rar.exe上傳到網(wǎng)站根目錄 /// </summary> /// <param name="s"></param> /// <param name="d"></param> /// <example>rar("e:/www.svnhost.cn/", "e:/www.svnhost.cn.rar");</example> public static void Rar(string s, string d) { ExeCommand(System.Web.HttpContext.Current.Server.MapPath("~/rar.exe") " a \"" d "\" \"" s "\" -ep1"); } /// <summary> /// 實現(xiàn)解壓縮,需要rar.exe上傳到網(wǎng)站根目錄 /// </summary> /// <param name="s"></param> /// <param name="d"></param> /// <example>unrar("e:/www.svnhost.cn.rar", "e:/");</example> public static void UnRar(string s, string d) { ExeCommand(System.Web.HttpContext.Current.Server.MapPath("~/rar.exe") " x \"" s "\" \"" d "\" -o "); } } }