一、生成bat文件
生成bat文件可以直接通过文本文档写入bat内容,然后将文件后缀名改成bat即可,这里介绍用C#生成bat文件的方法。
/// <summary> /// 生成bat文件 /// </summary> /// <param name="fileContent">文件内容</param> public void createBatFile(string fileContent) { string filePath = "D:\\CISMZ\\注册.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(); } } //bat内容:Regsvr32 D:\CISMZ\bltremotecall.dll /s 注册dll
二、调用bat文件
/// <summary> /// 调用bat /// </summary> public static void execBat(){ Process proc = null; try { //bat路径 string targetDir = string.Format(@"D:\CISMZ\"); proc = new Process(); proc.StartInfo.WorkingDirectory = targetDir; proc.StartInfo.FileName = "注册.bat"; //设置启动应用程序时要使用的一组命令行参数。 // proc.StartInfo.Arguments = string.Format("12"); //设置指示是否在新窗口中启动该进程的值 // proc.StartInfo.CreateNoWindow = true; //这里设置DOS窗口不显示 proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; proc.Start(); proc.WaitForExit(); } catch (Exception ex) { Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString()); } }