2011/02/17

7-Zip

官方網站:http://www.7-zip.org/

7-Zip 是一個免費的壓縮軟體,擁有自己的壓縮技術,副檔名為 .7z
但他同時也可以解壓縮市面上比較常見的 Zip 以及 RAR
同樣的擁有 GUI 以及 Command Line 兩種 mode

GUI

這是 7z 的 GUI 模式

我建立了兩個文字檔案叫 1.txt 跟 2.txt
壓縮的方式很簡單,選擇下方你要壓縮的檔案之後,點上方的加入



可以決定檔案名稱、檔案目標路徑、模式、密碼,也可以決定當壓縮檔超過幾 MB 的時候拆開檔案分別放置
這些內容跟 WinRAR 差不多,基本上用預設值就可以達到一般目的



按下確定後就產生了一個 7z.zip


選擇好目的後按下確定即可解壓縮


按下測試按鈕可以查看壓縮檔案健不健康


點檔案兩下可以進去看到壓縮的內容

選擇某些檔案之後可以使用上方的複製按鈕將檔案複製到其他位置,移動的話則是搬運
刪除按鈕基本上可以用 delete 鍵達到同樣的效果





在安裝完 7z 之後,可以對檔案使用左鍵即可達到壓縮以及解壓縮的功能
這是最快也是最一般的處理方式,不過就不像 GUI 有那麼多選項可以使用

Command Line
7z 有提供 command line 的模式,可以在 dos 底下執行

http://dotnetperls.com/7-zip-examples
這個網站有對 command line 詳盡的介紹,我在這邊介紹一些比較常用的功能

  a: Add files to archive 壓縮檔案
  d: Delete files from archive 從壓縮檔中刪除檔案
  e: Extract files from archive (without using directory names) 解壓縮檔案
  l: List contents of archive 呈現壓縮檔案內容
  t: Test integrity of archive 測試壓縮檔案
  u: Update files to archive 更新壓縮檔案
  x: eXtract files with full paths 無視路徑解壓縮檔案

在這邊我使用 command line 來達成我們剛剛使用 GUI 的結果

1. 壓縮
7z a 7z.zip *
*號為 DOS 指令,此指令會將當下目錄所有的檔案及目錄都壓縮進 7z.zip,你也可以個別指定

7z a 7z.zip *.txt
只壓縮附檔名為 txt 的檔案

7z a 7z.zip a*.txt
只壓縮開頭為 a 附檔名為 txt 的檔案

7z a 7z.zip 1.txt test
假設目前有 1.txt 2.txt 以及 [test] 這個目錄,今天要壓縮 1.txt 以及包涵 [test] 目錄的話,指令這樣下即可,以此類推

2. 解壓縮
我們現在有一個包涵 1.txt 以及 2.txt 的 7z.zip,解壓縮的方式為
7z e 7z.zip

因為我們現在所在的資料夾這兩個檔案本來就存在,所以 7z 會有詢問的動作
(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit?

Yes 覆蓋
No 不覆蓋
Always 全部覆蓋
Skip all 全部不覆蓋
Auto rename 自動編檔名,7z 會幫你把該檔案加上 "_序號"做檔案的區隔
Quit 離開

我們可以指定解壓縮目錄,便不有這個問題,假設我們要傳到 [test] 目錄,指令如下
7z e 7z.zip -otest
-o 是output的意思,與目錄明稱不用空白鍵間隔,若資料夾不存在則會自動幫你建立

7z 提供一種很酷的解壓縮方式
7z x 7z.zip

x 這個指令可以不管原始檔案的目錄結構,把所有的檔案都解壓縮到根目錄,搭配檔案篩選的話可以很輕易就只解出我們要得東西,例如
7z x 7z.zip *.doc
這樣就只會解出所有的 word 檔案而已

3. 列出檔案
7z l 7z.zip

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Listing archive: 7z.zip

--
Path = 7z.zip
Type = zip
Physical Size = 1020

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2011-02-17 19:49:12 ....A          159           95  1.txt
2011-02-17 19:49:15 ....A         3121          659  2.txt
------------------- ----- ------------ ------------  ------------------------
                                  3280          754  2 files, 0 folders


這個指令可以列出所有壓縮檔案的內容

4. 測試檔案
7z t 7z.zip

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Processing archive: 7z.zip

Testing     1.txt
Testing     2.txt

Everything is Ok

Files: 2
Size:       3280
Compressed: 1020

這個指令會檢查壓縮檔案的健康程度


5. 更新檔案
7z u 7z.zip *.txt
這個指令基本上跟 a 的意思差不多,但他只會將較新的檔案更新至壓縮檔裡

6. 刪除壓縮檔案內容
7z d 7z.zip 1.txt
利用這個指令將 1.txt 從 7z.zip 裡面刪除

7z l 7z.zip

利用 l 指令檢視一下,果然只剩下 2.txt 了

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Listing archive: 7z.zip

--
Path = 7z.zip
Type = zip
Physical Size = 803

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2011-02-17 19:49:15 ....A         3121          659  2.txt
------------------- ----- ------------ ------------  ------------------------
                                  3121          659  1 files, 0 folders



沒有留言: