zoukankan      html  css  js  c++  java
  • 在c#中调用windows脚本的方法

        ///   <summary>  
        
    ///   CmdUtility   的摘要说明。  
        
    ///   </summary>  
        public class CmdUtility
        {

            
    ///   <summary>  
            
    ///   执行cmd.exe命令  
            
    ///   </summary>  
            
    ///   <param   name="commandText">命令文本</param>  
            
    ///   <returns>命令输出文本</returns>  
            public static string ExeCommand(string commandText)
            {
                
    return ExeCommand(new string[] { commandText });
            }
            
    ///   <summary>  
            
    ///   执行多条cmd.exe命令  
            
    ///   </summary>  
            
    ///   <param   name="commandArray">命令文本数组</param>  
            
    ///   <returns>命令输出文本</returns>  
            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;
            }
            
    ///   <summary>  
            
    ///   启动外部Windows应用程序,隐藏程序界面  
            
    ///   </summary>  
            
    ///   <param   name="appName">应用程序路径名称</param>  
            
    ///   <returns>true表示成功,false表示失败</returns>  
            public static bool StartApp(string appName)
            {
                
    return StartApp(appName, ProcessWindowStyle.Hidden);
            }
            
    ///   <summary>  
            
    ///   启动外部应用程序  
            
    ///   </summary>  
            
    ///   <param   name="appName">应用程序路径名称</param>  
            
    ///   <param   name="style">进程窗口模式</param>  
            
    ///   <returns>true表示成功,false表示失败</returns>  
            public static bool StartApp(string appName, ProcessWindowStyle style)
            {
                
    return StartApp(appName, null, style);
            }
            
    ///   <summary>  
            
    ///   启动外部应用程序,隐藏程序界面  
            
    ///   </summary>  
            
    ///   <param   name="appName">应用程序路径名称</param>  
            
    ///   <param   name="arguments">启动参数</param>  
            
    ///   <returns>true表示成功,false表示失败</returns>  
            public static bool StartApp(string appName, string arguments)
            {
                
    return StartApp(appName, arguments, ProcessWindowStyle.Hidden);
            }
            
    ///   <summary>  
            
    ///   启动外部应用程序  
            
    ///   </summary>  
            
    ///   <param   name="appName">应用程序路径名称</param>  
            
    ///   <param   name="arguments">启动参数</param>  
            
    ///   <param   name="style">进程窗口模式</param>  
            
    ///   <returns>true表示成功,false表示失败</returns>  
            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;
            }
        }


    如果运行一个命令程序
      System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
      bakupProcess.StartInfo.FileName 
    = fileName;
      bakupProcess.StartInfo.Arguments 
    = arguments;
      bakupProcess.Start();

  • 相关阅读:
    对《分享一下自己用c++写的小地图》一文的补充
    大神的Blog挂了,从Bing快照里复制过来的备份
    如何创建独立的UE4服务端
    打包如何打包额外文件,比如Sqlite数据库的db文件
    关于如何通过定义自己的CameraManager来控制视角
    Slate中绑定动态数据
    分享一下自己用c++写的小地图
    2016.8看到的一些有用的文章
    如何在插件中添加Actor类
    如何使用的Ue4自带的SQLiteSupport
  • 原文地址:https://www.cnblogs.com/skyblue/p/891610.html
Copyright © 2011-2022 走看看