自动将BAT文件转换为EXE

我前几天发表了一篇文章“C/C++中一次性执行多个DOS命令”,那篇文章里介绍了如何在一个EXE程序中执行多个DOS命令。git

以那篇文章中的技术为核心,对其扩展就写出了自动将BAT转换为EXE的程序,实现的思路很简单:github

  1. 将原来代码中直接赋值到字符串变量中的BAT脚本,改成读取BAT文件,并将其输出到一个头文件里;
  2. 原来代码的其他部分保持不变,只是经过include将转换后的头文件包含进来,此时若是要求不高的话,其实就已是可使用了;
  3. 可是一个EXE文件通常都有本身的图标、版本号、厂商、版权等信息,因而又参考DevCpp的makefile作了一些处理,使得生成的EXE能够有这些信息,为了便于之后作图形界面,这些信息都用INI文件保存,这样之后图形界面上只要把配置参数存到INI文件里,再执行转换命令就能够了;

总之,绝大部分都是些琐碎的工做,只要耐心点,没啥技术难度。ide

代码在github: https://github.com/tywali/Bat2ExeConverter.net

下面对代码结构进行一些简单说明:code

  1. prepare.cpp,初始化编译用的中间目录,根据INI文件的配置生成资源文件,拷贝图标文件到编译目录;
  2. compile.cpp,对编译目录中的代码进行编译,生成转换后的EXE;
  3. main.cpp,程序入口;

使用方法:blog

  1. 编译须要MinGW环境,可自行下载配置,或者到DevCpp官网下载包含MinGW的DevCpp,https://sourceforge.net/projects/orwelldevcpp/
  2. 下载DevCpp后,可在安装目录中找到MinGW64(个人机器是64位的,所以是这个目录,32位机器没有验证),将MinGW64\bin添加到系统的PATH参数下,不然编译时会找不到编译器;
  3. 将上面github中的的代码clone下来,进入bin目录,执行命令:
    Bat2Exe example.bat

    这样就能够了。资源

若是想要配置EXE的图标、版本等信息,能够打开bin目录下的compile.ini,对参数进行配置便可,参数很简单,看名字就知道是什么意思了,不肯定的本身改一改,多编译几回也就明白了。字符串

欢迎你们下载使用,若是有问题可在这里或者在github上提出,我会尽力解决的。get

相关文章
相关标签/搜索