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();

  • 相关阅读:
    PriorityQueue是个基于优先级堆的极大优先级队列
    【Android游戏开发之四】基础的Android 游戏框架(一个游戏角色在屏幕行走的demo)
    Android示例程序剖析之LunarLander游戏
    java程序员必知的 8大排序
    【Android游戏开发之一】设置全屏以及绘画简单的图形
    嵌套For循环性能优化案例
    Android游戏开发教程之三:View类用法详解
    Ari Zilka谈Ehcache的进程内堆外缓存BigMemory
    如何进行Java EE性能测试与调优
    亲身实践,JAVA最优良的Adapter模式适配器模式
  • 原文地址:https://www.cnblogs.com/skyblue/p/891610.html
Copyright © 2011-2022 走看看