閩人
Iexpress.exe是Windows 10內(nèi)置的專用于制作自解壓文件的工具。通過它制作自解壓文件時我們可以自由設置解壓后自動執(zhí)行的命令,包括常見的可執(zhí)行程序、批處理、VBS腳本、PS1腳本等。制作好的自解壓文件由于是使用Windows 10內(nèi)置的命令來制作的,因此即使涉及VBS或者PS1腳本,系統(tǒng)的安全中心也不會將其攔截,可以更好地完成對批處理的封裝(圖1)。
了解了上述的內(nèi)容后,下面筆者就介紹幾種實用的“批處理”EXE文件的制作方法。
實例1:制作看不到密碼代碼的“批處理”
筆者在工作中經(jīng)常需要訪問MySQL,因此建立了一個批處理,代碼如下(“123456”為登錄MySQL的密碼):
cd "C:\program files\mysql\mysql server 7.5\bin"
mysql -u root --password=123456
這樣只要雙擊保存的批處理,即可自動登錄MySQL。不過任何人打開該批處理都能看到其中的登錄密碼,非常不安全。這時我們可以借助Iexpress.exe命令將其封裝為自解壓文件以隱藏其中的登錄密碼,同時又能實現(xiàn)自動登錄。
我們先將上述的批處理另存為“1.bat”并放置在“G:\”根目錄下備用,接著按下“Win+R”組合鍵啟動“運行”,輸入Iexpress.exe后點擊“確定”啟動制作向?qū)А?/p>
1依次選擇“CreatenewSelfExtractionDirectivefile.”(創(chuàng)建新的自解壓文件)→“Extractfilesandrunaninstallationcommand”(創(chuàng)建自解壓文件并自動安裝壓縮包),接著按提示設置壓縮包的標題,選擇“NOprompt”表示不提示,選擇“Donotdisplayalicense”表示不顯示用戶允許協(xié)議,然后點擊“ADD”,將上述制作好的“G:\1.bat”添加到列表中(圖2)。
2之后點擊“下一步”,然后在“InstallProgram”文本框中輸入“cmd/cg:\1.bat”,表示使用命令提示符調(diào)用指定的批處理(直接輸入批處理無法運行),這里的參數(shù)“/c”表示執(zhí)行指定的命令后不顯示命令提示符窗口(圖3)。
3點擊“下一步”后再依次選擇“hidden”(表示隱藏安裝程序窗口)→“Nomessage”(不顯示信息)→“Browse”,設置自解壓程序的名稱是“C:\Users\當前用戶\Desktop\mysql.EXE”,同時勾選下方的“HideFileExtractingProgressAnimationfromUser”(隱藏解壓文件提取窗口)(圖4)。
剩余的操作按屏幕提示依次選擇“No reboot”(不重啟)→“Don't save”(不保存自解壓記錄文件)。這樣在桌面上就會自動成生一個名為mysql.exe的自解壓文件,右擊它并依次選擇“屬性→詳細信息”,可以看到這是一個Win32 CAB自動解壓縮程序(圖5)。
以后我們只要雙擊桌面上的mysql.exe,在打開的窗口中就會自動啟動MySQL并輸入密碼登錄了。經(jīng)過這樣的封裝,其他人也就無法像打開BAT文件那樣查看其中的內(nèi)容了。
實例2:打造只能運行一次的程序
為了不讓孩子沉迷于游戲,我們可以通過包含Cacls命令行的批處理來阻止游戲程序的運行。為了避免孩子看到批處理中的命令來自行解鎖,同樣可以使用Iexpress.exe進行封裝,打造一個只能運行一次的游戲程序。
假設需要限制的游戲是“D:\Game\Game.exe”,新建一個批處理“2.bat”,代碼如圖6所示,將其保存在“G:\”根目錄下(圖6)。然后在圖2所示的窗口中將“G:\2.bat”添加到列表中,在圖3所示的窗口中將命令更改為“cmd /c g:\2.bat”,其他的操作同上,這樣在“G:\”根目錄下會生成一個自解壓程序game.exe。然后將其快捷方式發(fā)送到桌面上,并將它的圖標替換為上述游戲程序的圖標。這樣孩子在桌面上雙擊該快捷方式會自動啟動游戲,但啟動后游戲的完全控制權限僅會被自動賦予給cfan賬戶(cfan為父母的賬戶),而孩子的賬戶之后就無法再運行該游戲了。如果想解除限制,同上再制作一個賦予孩子的賬戶完全控制權限的自解壓程序,并將其中的賬戶cfan更改為孩子的賬戶即可。