我前幾天發(fā)表了一篇文章“C/C++中一次性執(zhí)行多個DOS命令”,那篇文章里介紹了如何在一個EXE程序中執(zhí)行多個DOS命令。

創(chuàng)新互聯(lián)公司網(wǎng)站建設公司是一家服務多年做網(wǎng)站建設策劃設計制作的公司,為廣大用戶提供了網(wǎng)站制作、成都網(wǎng)站設計,成都網(wǎng)站設計,廣告投放平臺,成都做網(wǎng)站選創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務歡迎致電。
以那篇文章中的技術(shù)為核心,對其擴展就寫出了自動將BAT轉(zhuǎn)換為EXE的程序,實現(xiàn)的思路很簡單:
- 將原來代碼中直接賦值到字符串變量中的BAT腳本,改為讀取BAT文件,并將其輸出到一個頭文件里;
- 原來代碼的其余部分保持不變,只是通過include將轉(zhuǎn)換后的頭文件包含進來,此時如果要求不高的話,其實就已經(jīng)是可以使用了;
- 但是一個EXE文件一般都有自己的圖標、版本號、廠商、版權(quán)等信息,于是又參考DevCpp的makefile做了一些處理,使得生成的EXE可以有這些信息,為了便于以后做圖形界面,這些信息都用INI文件保存,這樣以后圖形界面上只要把配置參數(shù)存到INI文件里,再執(zhí)行轉(zhuǎn)換命令就可以了;
總之,絕大部分都是些瑣碎的工作,只要耐心點,沒啥技術(shù)難度。
代碼在github: https://github.com/tywali/Bat2ExeConverter
下面對代碼結(jié)構(gòu)進行一些簡單說明:
- prepare.cpp,初始化編譯用的中間目錄,根據(jù)INI文件的配置生成資源文件,拷貝圖標文件到編譯目錄;
- compile.cpp,對編譯目錄中的代碼進行編譯,生成轉(zhuǎn)換后的EXE;
- main.cpp,程序入口;
使用方法:
- 編譯需要MinGW環(huán)境,可自行下載配置,或者到DevCpp官網(wǎng)下載包含MinGW的DevCpp,https://sourceforge.net/projects/orwelldevcpp/
- 下載DevCpp后,可在安裝目錄中找到MinGW64(我的機器是64位的,因此是這個目錄,32位機器沒有驗證),將MinGW64\bin添加到系統(tǒng)的PATH參數(shù)下,否則編譯時會找不到編譯器;
- 將上面github中的的代碼clone下來,進入bin目錄,執(zhí)行命令:
Bat2Exe example.bat
這樣就可以了。
如果想要配置EXE的圖標、版本等信息,可以打開bin目錄下的compile.ini,對參數(shù)進行配置即可,參數(shù)很簡單,看名字就知道是什么意思了,不確定的自己改一改,多編譯幾次也就明白了。
歡迎大家下載使用,如果有問題可在這里或者在github上提出,我會盡力解決的。
網(wǎng)頁名稱:自動將BAT文件轉(zhuǎn)換為EXE
當前網(wǎng)址:
http://weahome.cn/article/ijdgcp.html