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中的句柄属性,便于直接获取控件或窗体句柄,以及不推荐...
2634 0
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
|
Shell C#
C#使用Process打开外部程序或外部文件的使用总结
执行一个外部的第三方应用的原理,和调用cmd执行命令是一样的,只不过可以添加程序的启动参数(`StartInfo.Arguments`)等。调用第三方应用,在其启动后,关于程序的操作、处理、是否...
1695 0
C#使用Process打开外部程序或外部文件的使用总结
|
Java C#
C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0
原文 C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0  前几天遇到了一个在C#的winform程序中,启动一个第三方jar程序,并修改jar运行窗体的标题的问题。
2132 0
|
程序员 C# 安全
c# Process类使用小例
  公司为了安全方面的考虑,对员工使用的window操作系统做了权限限制。如果我们想在自己使用的机器上安装额外的软件,就需要找系统管理员!感觉是相当的不爽啊!   但是为了我们这些程序员正常工作,允许我们用管理员的权限运行vs2010,这就为我们间接获得管理员权限安装自己想要的软件留下了后门。
709 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)。
1038 0
|
C#
C# Process调用应用程序失败时应注意的问题
C#中如果采用Process调用应用程序失败,请添加下列第一行,设置应用程序所在的路径。                             Directory.SetCurrentDirectory([应用程序所在路径]);                    Process process = new Process();                    process.
1048 0
|
4月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
157 3
|
4月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
173 3
下一篇
DDNS