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:\Code\Unity3D\SVN\cosmosbox\关卡制作教程.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


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/4029277.html,如需转载请自行联系原作者

相关文章
|
API C# Windows
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
本篇主要介绍一些与窗口句柄相关的一些API,比如设置窗口状态、当前激活的窗口、窗口客户区的大小、鼠标位置、禁用控件等,以及介绍Winform中的句柄属性,便于直接获取控件或窗体句柄,以及不推荐...
3177 0
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
|
Shell C#
C#使用Process打开外部程序或外部文件的使用总结
执行一个外部的第三方应用的原理,和调用cmd执行命令是一样的,只不过可以添加程序的启动参数(`StartInfo.Arguments`)等。调用第三方应用,在其启动后,关于程序的操作、处理、是否...
1868 0
C#使用Process打开外部程序或外部文件的使用总结
|
Java C#
C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0
原文 C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0  前几天遇到了一个在C#的winform程序中,启动一个第三方jar程序,并修改jar运行窗体的标题的问题。
2159 0
|
程序员 C# 安全
c# Process类使用小例
  公司为了安全方面的考虑,对员工使用的window操作系统做了权限限制。如果我们想在自己使用的机器上安装额外的软件,就需要找系统管理员!感觉是相当的不爽啊!   但是为了我们这些程序员正常工作,允许我们用管理员的权限运行vs2010,这就为我们间接获得管理员权限安装自己想要的软件留下了后门。
717 0
|
IDE 开发工具 C++
C#.Net组件开发 - 使用Attach to Process实时调试设计器代码(转)
本文转载于:CS框架网http://www.csframework.com/archive/2/arc-2-20110829-1811.htm C#.Net组件开发 - 使用Attach to Process实时调试设计器代码 组件设计的调试对象为两个:一是我们关注的组件本身(Component/Control),二是组件的设计器(Component Designer/Control Designer)。
1047 0
|
C#
C# Process调用应用程序失败时应注意的问题
C#中如果采用Process调用应用程序失败,请添加下列第一行,设置应用程序所在的路径。                             Directory.SetCurrentDirectory([应用程序所在路径]);                    Process process = new Process();                    process.
1063 0
|
20天前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
30 3
|
1月前
|
安全 C# 数据安全/隐私保护
实现C#编程文件夹加锁保护
【10月更文挑战第16天】本文介绍了两种用 C# 实现文件夹保护的方法:一是通过设置文件系统权限,阻止普通用户访问;二是使用加密技术,对文件夹中的文件进行加密,防止未授权访问。提供了示例代码和使用方法,适用于不同安全需求的场景。
115 0