(1) 解壓檔案到使用者臨時目錄;
(2) 執行指定的啟動程式/指令碼;
(3) 執行完之後退出刪除解壓檔案;
其中 7-zip.chm是幫助文件,7z的許多命令列用法在該文件中均可查到;
二、配置
根據chm手冊了解到若想要打出自解壓的exe,需要如下步驟:
(1) 從lzma sdk解壓目錄 bin 目錄下將以下3個檔案拷出放到7z的解壓目錄下。
(2) 準備程式,這裡比較簡單,乙個目錄下三個檔案,其中乙個是啟動指令碼。
(3) 準備config.txt,內容如下
;!@install@!utf-8!title="patch tool"executefile="start.bat";!@installend@!
del test.7z
del test.exe
set srcpath=%1% //傳遞test資料夾目錄絕對位址
echo %srcpath%7z a test.7z"%srcpath%\*" -r -mx -mf=bcj2 //將test資料夾內所有檔案壓縮到7z包中,不包含test目錄
copy /b 7zsd.sfx + config.txt + test.7z test.exe
(5) 將config.txt、生成exe的指令碼、7z相關的檔案放到乙個目錄下,如下
通過以上步驟,exe自解壓相關的內容基本配置完畢。
三、執行
直接執行 window***e.bat指令碼,輸入test目錄絕對位址,會自動生成7z檔案和exe檔案,雙擊執行exe檔案即可。
四、知識點
根據幫助文件的內容,可以得知 7z 提供了一下配置
sfx_module
description
7z.sfx
sfx module (gui version)
7zcon.sfx
sfx module (console version)
7zsd.sfx
sfx module for installers (gui version)
7zs2.sfx
small sfx module for installers (gui version)
7zs2con.sfx
small sfx module for installers (console version)
生成自解壓exe的命令必須是:copy /b 7zsd.sfx + **.txt + **.7z **.exe (其中**.txt可選)。
若將7zsd.sfx更換成**中的不同sfx檔案,會有不同結果如下:
(1) 7z.sfx
實際上生成的僅是自解壓功能的exe,雙擊exe,會出現解壓介面,要求使用者選擇自解壓的路徑,但是 **.txt配置的內容均是無效的。僅是完成自解壓的功能。
與(1) 的效果一致,也是僅完成自解壓的功能,唯一區別在於雙擊exe,出現的是命令列,所有資訊在命令列中輸出。
(3) 7zs 開頭的sfx
這類才是可安裝的exe,自解壓到臨時目錄,執行指定程式,區別在於自解壓介面呈現的方式(有的是使用者可視介面,有的是命令列介面)。
命令列壓縮解壓7z
命令列壓縮解壓一 7z 1 簡介 7z,全稱7 zip,是一款開源軟體。是目前公認的壓縮比例最大的壓縮解壓軟體。主頁 中文主頁 主要特徵 全新的lzma演算法加大了7z格式的壓縮比 支援格式 壓縮 解壓縮 7z,xz,bzip2,gzip,tar,zip 僅解壓縮 arj,cab,chm,cpio,...
命令列壓縮解壓7z
命令列壓縮解壓一 7z 1 簡介 7z,全稱7 zip,是一款開源軟體。是目前公認的壓縮比例最大的壓縮解壓軟體。主頁 中文主頁 主要特徵 全新的lzma演算法加大了7z格式的壓縮比 支援格式 壓縮 解壓縮 7z,xz,bzip2,gzip,tar,zip 僅解壓縮 arj,cab,chm,cpio,...
mac 命令列 解壓7z檔案 命令列壓縮解壓7z
命令列壓縮解壓一 7z 2 退出 0 正常,沒有錯誤 1 警告,沒有致命的錯誤,例如某些檔案正在被使用,沒有被壓縮 2 致命錯誤 7 命令列錯誤 8 沒有足夠的記憶體 255 使用者停止了操作 3 使用語法7z 在方括號內的表示式 和 之間的字元 是可選的。在書名號內的表示式 之間的字元 是必須替換...