我前幾天發表了一篇文章「C/C++中一次性執行多個DOS命令」,那篇文章裏介紹瞭如何在一個EXE程序中執行多個DOS命令。git
以那篇文章中的技術爲核心,對其擴展就寫出了自動將BAT轉換爲EXE的程序,實現的思路很簡單:github
- 將原來代碼中直接賦值到字符串變量中的BAT腳本,改成讀取BAT文件,並將其輸出到一個頭文件裏;
- 原來代碼的其他部分保持不變,只是經過include將轉換後的頭文件包含進來,此時若是要求不高的話,其實就已是可使用了;
- 可是一個EXE文件通常都有本身的圖標、版本號、廠商、版權等信息,因而又參考DevCpp的makefile作了一些處理,使得生成的EXE能夠有這些信息,爲了便於之後作圖形界面,這些信息都用INI文件保存,這樣之後圖形界面上只要把配置參數存到INI文件裏,再執行轉換命令就能夠了;
總之,絕大部分都是些瑣碎的工做,只要耐心點,沒啥技術難度。ide
代碼在github: https://github.com/tywali/Bat2ExeConverter.net
下面對代碼結構進行一些簡單說明:code
- prepare.cpp,初始化編譯用的中間目錄,根據INI文件的配置生成資源文件,拷貝圖標文件到編譯目錄;
- compile.cpp,對編譯目錄中的代碼進行編譯,生成轉換後的EXE;
- main.cpp,程序入口;
使用方法:blog
- 編譯須要MinGW環境,可自行下載配置,或者到DevCpp官網下載包含MinGW的DevCpp,https://sourceforge.net/projects/orwelldevcpp/
- 下載DevCpp後,可在安裝目錄中找到MinGW64(個人機器是64位的,所以是這個目錄,32位機器沒有驗證),將MinGW64\bin添加到系統的PATH參數下,不然編譯時會找不到編譯器;
- 將上面github中的的代碼clone下來,進入bin目錄,執行命令:
Bat2Exe example.bat
這樣就能夠了。資源
若是想要配置EXE的圖標、版本等信息,能夠打開bin目錄下的compile.ini,對參數進行配置便可,參數很簡單,看名字就知道是什麼意思了,不肯定的本身改一改,多編譯幾回也就明白了。字符串
歡迎你們下載使用,若是有問題可在這裏或者在github上提出,我會盡力解決的。get