• C#BAT与VBS文件的创建和执行调用


      /// <summary>
            /// 创建bat脚本
            /// </summary>
            /// <param name="batName">文件名</param>
            /// <param name="fileContent">文件内容</param>
            /// <param name="u"></param>
            internal static void CreationBat(string batName, string fileContent, string u = null)
            {
                string filepath = System.IO.Directory.GetCurrentDirectory();
                string batpath = filepath + @"" + batName;
                writeBATFile(fileContent, batpath);
            }
    
            /// <summary>
            /// 写入文件
            /// </summary>
            /// <param name="fileContent">文件内容</param>
            /// <param name="filePath">路径</param>
            internal static void writeBATFile(string fileContent, string filePath)
            {
                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();
                }
            }
    
    
            /// <summary>
            /// 调用执行bat文件
            /// </summary>
            /// <param name="batName">文件名</param>
            /// <param name="thisbatpath">路径</param>
            internal static void ExecuteBat(string batName, string thisbatpath)
            {
                Process proc = null;
                try
                {
                    string targetDir = string.Format(thisbatpath);//this is where testChange.bat lies
                    proc = new Process();
                    proc.StartInfo.WorkingDirectory = targetDir;
                    proc.StartInfo.FileName = batName;
                    proc.StartInfo.Arguments = string.Format("10");//this is argument
                    proc.StartInfo.RedirectStandardError = false;
                    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());
                }
            }
    
            /// <summary>
            /// 调用执行vbs文件
            /// </summary>
            /// <param name="vbsName">文件名</param>
            internal static void ExecuteVbs(string vbsName)
            {
                string path = System.IO.Directory.GetCurrentDirectory() + @"" + vbsName;
                ProcessStartInfo startInfo = new ProcessStartInfo();
                startInfo.FileName = "wscript.exe";
                startInfo.Arguments = path;
                //Process.Start(startInfo);
    
                Process.Start(startInfo.FileName, """ + startInfo.Arguments + """);
            }
    
    
            /// <summary>
            /// 创建vbs文件
            /// </summary>
            /// <param name="vbsName">vbs文件名</param>
            internal static void NewVbs(string vbsName)
            {
                string path = System.IO.Directory.GetCurrentDirectory() + @"" + vbsName;
                FileStream fsvbs = new FileStream(path, FileMode.Create, FileAccess.Write);
                StreamWriter runBat = new StreamWriter(path);
                runBat.WriteLine("set ws=WScript.CreateObject("WScript.Shell")");
                runBat.WriteLine("ws.Run"runRdp.bat",0");
                runBat.Close();
                fsvbs.Close();
            }
  • 相关阅读:
    JQuery对象操作支持链式法则源码分析
    JQuery + JSON作为前后台数据交换格式实践
    JQuery html API支持解析执行Javascript脚本功能实现-代码分析
    跨域访问实践
    XP下安装MAC OS虚拟系统
    Android APP开发笔记
    CSS浮动与清浮动
    LUA 模块化编程例子
    JavaScript解决命名冲突的一种方法
    XML中文本节点存储任意字符的方法
  • 原文地址:https://www.cnblogs.com/CityOfThousandFires/p/13808564.html
Copyright © 2020-2023  润新知