当前位置: 首页 > news >正文

C#实现bat文件调用

分成2个步骤,首先生成一个bat文件,然后调用批处理文件

1.生成.bat文件

入参为文件的内容,filePath为绝对路径,且需要扩展名(这个方法不局限于生成.bat文件,也可以生成其他扩展名文件)

 public void writeBATFile(string fileContent)
        {string filePath = "D:\\test\\testChange.bat";
            if (!File.Exists(filePath))
            {
                FileStream fs1 = new FileStream(filePath, FileMode.Create, FileAccess.Write);//创建写入文件
                StreamWriter sw = new StreamWriter(fs1);
                sw.WriteLine(fileContent);//开始写入值
                sw.Close();
                fs1.Close();
            }
            else
            {
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Write);
                StreamWriter sr = new StreamWriter(fs);
                sr.WriteLine(fileContent);//开始写入值
                sr.Close();
                fs.Close();
            }
        }

2.调用.bat文件

这里需要使用一个命名空间

using System.Diagnostics;

调用文件代码为

  Process proc = null;
            try
            {
                string targetDir = string.Format(@"D:\BizMap\");//this is where testChange.bat lies
                proc = new Process();
                proc.StartInfo.WorkingDirectory = targetDir;
                proc.StartInfo.FileName = "testChange.bat";
                proc.StartInfo.Arguments = string.Format("10");//this is argument
                //proc.StartInfo.CreateNoWindow = true;
                //proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//这里设置DOS窗口不显示,经实践可行
                proc.Start();
                proc.WaitForExit();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
            }

 

转载于:https://www.cnblogs.com/wxwx/p/5821059.html

相关文章:

  • 从零实现3D图像引擎:(1)环境配置与项目框架
  • Akka in action (第一章 介绍Akka)
  • Muduo 网络编程示例之零:前言
  • StackExchange.Redis帮助类解决方案RedisRepository封装(散列Hash类型数据操作)
  • 【每天读一点英文】gnuhpc注释版:The True Nobility
  • CEPH RGW多 ZONE的配置
  • 【每天读一点英文】gnuhpc:The World As I See It(节选)
  • Java学习随笔之1: Java 语言概述和开发环境
  • iPad - 开发(Universal Applications)
  • Muduo 网络编程示例之一:五个简单 TCP 协议
  • 常用加密算法的Java实现总结(二) ——对称加密算法DES、3DES和AES
  • 继续玩转喷墨打印机
  • cookies,sessionStorage和localStorage的区别
  • 51nod 1103【鸽巢原理】
  • 从零实现3D图像引擎:(2)画2D直线不简单
  • 2019年如何成为全栈工程师?
  • JavaScript DOM 10 - 滚动
  • JavaScript 基本功--面试宝典
  • leetcode讲解--894. All Possible Full Binary Trees
  • springMvc学习笔记(2)
  • web标准化(下)
  • Web标准制定过程
  • 对JS继承的一点思考
  • 规范化安全开发 KOA 手脚架
  • 后端_MYSQL
  • 开源SQL-on-Hadoop系统一览
  • 聊聊hikari连接池的leakDetectionThreshold
  • 使用 Docker 部署 Spring Boot项目
  • 云大使推广中的常见热门问题
  • hi-nginx-1.3.4编译安装
  • Spring第一个helloWorld
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​iOS安全加固方法及实现
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (三)docker:Dockerfile构建容器运行jar包
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转载)利用webkit抓取动态网页和链接
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET Micro Framework 4.2 beta 源码探析
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET委托:一个关于C#的睡前故事
  • ::前边啥也没有