C#调用cmd.exe程序和外部程序
using
System;
using System.Diagnostics; namespace ApplyCmd { /// /// CmdUtility 的摘要说明。 /// public class CmdUtility { /// /// 执行cmd.exe命令 /// /// 命令文本 /// 命令输出文本 public static string ExeCommand( string commandText) { return ExeCommand( new string []{commandText}); } /// /// 执行多条cmd.exe命令 /// /// 命令文本数组 /// 命令输出文本 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(); p.WaitForExit(); p.Close(); } catch (Exception e) { strOutput = e.Message; } return strOutput; } /// /// 启动外部Windows应用程序,隐藏程序界面 /// /// 应用程序路径名称 /// true表示成功,false表示失败 public static bool StartApp( string appName) { return StartApp(appName,ProcessWindowStyle.Hidden); } /// /// 启动外部应用程序 /// /// 应用程序路径名称 /// 进程窗口模式 /// true表示成功,false表示失败 public static bool StartApp( string appName,ProcessWindowStyle style) { return StartApp(appName, null ,style); } /// /// 启动外部应用程序,隐藏程序界面 /// /// 应用程序路径名称 /// 启动参数 /// true表示成功,false表示失败 public static bool StartApp( string appName, string arguments) { return StartApp(appName,arguments,ProcessWindowStyle.Hidden); } /// /// 启动外部应用程序 /// /// 应用程序路径名称 /// 启动参数 /// 进程窗口模式 /// 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; } } } ps:利用System.Diagnostics.Process来压缩文件或文件夹 string strArg = " a -r {0} {1} " ; System.Diagnostics.Process.Start( @" C:Program FilesWinRAR ar.exe " , String.Format(strArg, txtApp.Text + " .rar " , txtApp.Text)); strArg为winrar的命令参数,请参考帮助。 |
C#调用cmd.exe程序和外部程序
最新推荐文章于 2024-06-05 10:11:45 发布