Login Free Sign Up
March 1, 2008

使用 7-Zip 來批次壓縮檔案

7-Zip 是一套開放原始碼的免費壓縮軟體
官方網站:http://www.7-zip.org/ 
維基百科:http://zh.wikipedia.org/wiki/7-Zip 

其開發的 7z 格式,以高壓縮率而著名
相對於需付費的 WinRAR、WinZip,7-Zip 提供免費且強大的壓縮/解壓縮能力
對於使用盜版的使用者來說是一個值得堆廣的代替品 

但對於習慣 WinRAR 的人來說,最大的遺憾是 7-Zip 遲遲沒有批次壓縮功能 
WinRAR 有個 "一個檔案建立一個壓縮檔案" 的壓縮選項
可以同時選擇多的檔案各自建立多個壓縮檔 

幸好 7-Zip 有提供命令模式,這樣可以藉由整合至 Windows 右鍵
然後搭配 Ctrl 或 Shift 選取多個檔案後按右鍵選單來達成類似批次壓縮的功能 

右鍵有分資料夾 or 檔案,不過兩者所用的 command 是一樣的 

[檔案] 
1. 開始 / 執行 輸入 regedit 

2. 在 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\ 下新增一個機碼 
命名隨便,例如 "加入 *.7z" 

3. 在 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\加入 *.7z\ 下再新增一個機碼 
命名為 "command" 

4. command 內會有一個字串值叫 (預設值),點兩下編輯 
輸入 "C:\Program Files\7-Zip\7z.exe" a -t7z "%1".7z "%1" 

[資料夾] 方法一樣,只是路徑改成 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\ 

藍色的字可以根據自己需求修改,例如改成這樣就是壓縮成 zip 檔
   "C:\Program Files\7-Zip\7z.exe" a -tzip "%1".zip "%1"
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^^^^^^^^ ^^^^
                  1                2   3       4     5

        1: 7-zip 路徑
        2: 動作:壓縮
        3: 格式:zip
        4: 壓縮檔的檔名
        5: 原始檔案的檔名
        %1 是檔名變數
        "" 引號是避免路徑有空格

詳細命令參數可以參考 7-zip 說明檔

但這方法有幾個缺憾
1. 壓完的檔案會包含原始檔案的附檔名,也就是 a.doc 壓縮完是 a.doc.zip
   雖不影響,只是和一般壓縮命名習慣不同
2. 壓縮過程會跳出 cmd 視窗,不知能否隱藏?
3. 是最大問題
   雖乍看像是批次壓縮,其實不是循序動作,而是所有檔案同時進行
   若是同時選一百個檔案同時壓縮,會有一百個 7z.exe 在執行壓縮動作
   當檔案量大時,無論是 cpu 或是硬碟都會吃不消吧

以下是懶人包,如果有網友想幫忙測試解決以上問題
將虛線之間藍色內容(不含虛線)複製到純文字檔,將附檔名 txt 改成 reg
點兩下可以直接匯入

(zip 版)
------------------------
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\加入 *.zip\command]
@="\"C:\\Program Files\\7-Zip\\7z.exe\" a -tzip \"%1\".zip \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\加入 *.zip\command]
@="\"C:\\Program Files\\7-Zip\\7z.exe\" a -tzip \"%1\".zip \"%1\""

------------------------

(7z 版)
------------------------
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\加入 *.7z\command]
@="\"C:\\Program Files\\7-Zip\\7z.exe\" a -t7z \"%1\".7z \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\加入 *.7z\command]
@="\"C:\\Program Files\\7-Zip\\7z.exe\" a -t7z \"%1\".7z \"%1\""

------------------------

網路上可以找到使用兩個 bat 檔來完成真正的批次壓縮
大家可以參考看看
http://sparanoid.com/blog/7-zip-452-beta-chinese-simplified/


2008-03-07 更新
經 PTT EZsoft 板友 junorn 指點
以下方法更完美
使用 7-Zip 來批次壓縮檔案 (完美版)
上面寫的笑笑就好 XD

0推薦此文章
Today's Visitors: 5 Total Visitors: 621
Personal Category: 來點有用的電腦教學吧 Topic: technology
[Trackback URL]

Post A Comment









Yes No



Please input the magic number:

( Prevent the annoy garbage messages )
( What if you cannot see the numbers? )
Please input the magic number

誰來收藏
Loading ...