1. 程式人生 > >用命令列的方式來執行7z壓縮和解壓縮

用命令列的方式來執行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。