用命令列的方式來執行7z壓縮和解壓縮
我在研究怎樣使用7z,以及7z的極限壓縮(把檔案壓縮到最小size)。
從官網下載軟體安裝包。安裝完畢後,安裝目錄裡面有一個 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。