我有一個.bat文件,它打開一個與它所在的目錄相同的程序。它需要程序及其所有數據。現在是我們將批處理文件和文件夾打包到一個exe文件中的一種方式,因此它只需點擊一次即可運行,只需分發一個文件即可。如何打包一個.bat文件和一個exe文件
請索取任何附加信息。
我有一個.bat文件,它打開一個與它所在的目錄相同的程序。它需要程序及其所有數據。現在是我們將批處理文件和文件夾打包到一個exe文件中的一種方式,因此它只需點擊一次即可運行,只需分發一個文件即可。如何打包一個.bat文件和一個exe文件
請索取任何附加信息。
這個應用程序似乎做你想做的。
這可以使用的7-Zip自解壓文件來完成。我創建的這個書面記錄很久以前開發的腳本,使容易創造這些「自包含」包的過程:
http://www.howtogeek.com/50364/convert-a-batch-bat-script-to-an-executable-exe-file/
例如,運行此命令:
MakeExeFromBat.bat MyBatFile.bat SomeTool.exe SomeOtherBatFile.bat
會生成MyBatFile.exe
,其中包含BAT文件(您的和依賴項)以及批處理文件可用於調用的EXE。
一旦運行,過程是這樣的:
MyBatFile.exe
內容解壓到一個臨時目錄。MyBatFile.bat
被執行並運行。任何傳遞的命令行參數都會發送到MyBatFile.bat
,以便您可以正常使用它們。由於這種處理是由SFX,關於此需要提及的侷限性的幾個重要通知(我不知道的工具或解決方法可以克服這些限制的)來完成:
cmd
實例的知識,除非您通過參數提供它們。\Subdir
作爲參數傳遞給MyBatFile.exe
(同樣在新的cmd
實例中打開),那麼\Subdir
將嘗試解析到提取它的temp結構中的路徑。您可以通過始終提供完整路徑名稱來解決此問題。但是,大部分情況下,如果您不處理用戶提供的文件處理,這些限制將不會發揮作用。
那麼,有[NSIS](http://nsis.sf.net/),但要準備好一點點的學習曲線,然後才能做到你想要的。 – rojo 2014-12-05 13:04:23
另外,請查看[7-zip sfx](http://superuser.com/questions/42788/)。這裏有一個[教程](http://www.msfn.org/board/topic/39048-how-to-make-a-7-zip-switchless-installer/)。 – rojo 2014-12-05 13:50:27
檢查iexpress。它內置在每臺Windows機器上,並有一個用戶界面,可以做一些事情。 – npocmaka 2014-12-05 13:52:56