我在研究怎樣使用7z,以及7z的極限壓縮(把文件壓縮到最小size)。
7z官網是 http://www.7-zip.org/
從官網下載軟件安裝包。安裝完畢後,安裝目錄裏面有一個 7-zip.chm 幫助文件,可以瞭解7z的詳細的使用說明。
用命令行來執行7z的極限壓縮,就是如下的命令:
C:\01_MyApp\7-Zip\7z.exe a -t7z newPack.7z "F:\14_newWork\7z\testDoc\*" -r -mx=9 -m0=LZMA2 -ms=10m -mf=on -mhc=on -mmt=on
其中,
1,C:\01_MyApp\7-Zip\7z.exe
這個是7z可執行文件的完整路徑
2,a
這個表示add命令,即新建一個壓縮文件,該壓縮文件存放在當前目錄下。還有其他的命令,例如解壓縮,從壓縮文件中刪除一個文件,等等
3,-t7z
這個表示使用的壓縮類型是7z。類似的還有 -tzip 等等。
4,newPack.7z
新建的壓縮文件的名字。
5,"F:\14_newWork\7z\testDoc\*"
這個表示把該目錄下的所有的文件都執行壓縮操作,添加到壓縮文件中。
6,-r
這個參數表示遍歷所有的子目錄,每個文件都執行壓縮操作,添加到壓縮文件中。
7,-mx=9
這個參數表示壓縮等級,9級是最高等級。默認等級是5。
8,-m0=LZMA2
這個參數表示優先使用 LZMA2 算法。類似的,還可以設置第二優先 -m1=LZMA ,第三優先 -m2=BZip2 。
9,-ms=10m
這個參數表示開啓固實模式,這種模式是把壓縮包中的所有文件都當成一個連續數據流來看待。通常情況下,固實壓縮可增加壓縮比,特別是在添加大量小文件的時候。
這裏除了開啓固實模式,還設置了以10兆作爲一個數據塊。
10,-mf=on
這個參數表示開啓可執行文件壓縮過濾器。
11,-mhc=on
這個參數表示對壓縮包的文件頭也進行壓縮。
12,-mmt=on
這個參數表示開啓多線程,提高壓縮速度。
==========================================================
解壓縮的命令如下:
C:\01_MyApp\7-Zip\7z.exe x newPack.zip -oc:\Doc -aoa
其中,
1,C:\01_MyApp\7-Zip\7z.exe
這個是7z可執行文件的完整路徑
2,x
這個表示解壓縮,並且使得壓縮包內的文件所在的目錄結構保持不變。如果你希望解壓縮後所有的文件都存放在同一個目錄下,則使用 e 這個命令。
3,newPack.zip
這個表示壓縮包的文件名。該壓縮包是存放在當前目錄下的。
4,-oc:\Doc
這個表示把壓縮包內的文件解壓縮到 c:\Doc 目錄下。-o 這個參數用於指定輸出目錄。
5,-aoa
這個表示直接覆蓋現有文件,而沒有任何提示。類似的參數還有:
-aos 跳過現有文件,其不會被覆蓋。
-aou 如果相同文件名的文件以存在,將自動重命名被釋放的文件。舉個例子,文件 file.txt 將被自動重命名爲 file_1.txt。
-aot 如果相同文件名的文件以存在,將自動重命名現有的文件。舉個例子,文件 file.txt 將被自動重命名爲 file_1.txt。