zoukankan      html  css  js  c++  java
  • C# Process执行bat

    Process类

    System.Diagnostics 命名空间提供类,使您能够与系统进程、事件日志和性能计数器进行交互。

    Process类提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。

    Process除了可以执行bat,还可以执行计算机上其它的应用程序,包括各种bat及脚本

    使用示例一

    using System;
    using System.Diagnostics;
    
    public class ProcessDemo
    {
        static void Main(string[] args)
        {
            Process process = new Process();
    
            try
            {
                //打开C盘
                //Process.Start("c:\");
                
                //打开word文件
                string file = @"D:CodeUnity3DSVNcosmosbox关卡制作教程.doc";
                //OpenMsWord(file);
                
                //执行bat文件
                LaunchBat("d:/run.cmd");
            }
            catch (Exception e)
            {
                Console.WriteLine( e.Message);
            }
        }
    
        /// <summary>
        /// 传入文件名打开文件
        /// </summary>
        /// <param name="file"></param>
        static void OpenMsWord(string file)
        {
            ProcessStartInfo startInfo=new ProcessStartInfo();
            //我的机器上没有安装microsoft word --!
            //startInfo.FileName = "winword";
            startInfo.FileName = "wps";
            startInfo.Arguments = file;//设置参数
            Process.Start(startInfo);
        }
    
        /// <summary>
        /// 执行bat文件
        /// </summary>
        /// <param name="batName"></param>
        static void LaunchBat(string batName)
        {
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.CreateNoWindow = true;
            startInfo.FileName =batName;
            startInfo.WindowStyle=ProcessWindowStyle.Maximized;
            Process.Start(startInfo);
            
        }
    }

    使用示例二

    调用此方法将在执行 3TexturePacker打包Players图集.bat

    /// <summary>
        ///     执行bat,为tk2d打包手持武器准备
        /// </summary>
        private static void ExecuteBat()
        {
            Process proc = null;
            AppDataPath = Application.dataPath;
            try
            {
                proc = new Process();
                proc.StartInfo.FileName = AppDataPath + "/3TexturePacker打包Players图集.bat";
                //proc.StartInfo.Arguments = string.Format("10");//this is argument
                proc.StartInfo.CreateNoWindow = false;
                proc.Start();
                proc.WaitForExit();
            }
            catch (Exception ex)
            {
                CBase.LogError("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace);
            }
            CBase.Log("打包Weapon InHand图集完成!");
        }

    MSDN文档

    MSDN:http://msdn.microsoft.com/zh-cn/library/system.diagnostics.process(v=vs.110).aspx

  • 相关阅读:
    负载均衡session会话保持方法
    PHP分布式中Redis实现Session
    Nginx内置变量
    Nginx配置文件解析
    Nginx重写
    Nginx与Apache比较
    CGI概念
    Linux笔记(十四)
    Linux笔记(十三)
    hdu 4039
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/4029277.html
Copyright © 2011-2022 走看看