2012年12月19日 星期三

7-zip 批次壓縮與解壓縮


批次壓縮 (zip):
@echo off
set "a=%ProgramFiles%\7-Zip\7z.exe"
for %%a in (%*) do if exist "%%~a\" (
        "%a%" a -tzip "%%~a.zip" "%%~a\*"
        ) else (
        "%a%" a -tzip "%%~a.zip" "%%~a"
        )
批次封存 (7z):
@echo off
set "a=%ProgramFiles%\7-zip\7z.exe"
for %%a in (%*) do if exist "%%~a\" (
        "%a%" a -t7z "%%~a.7z" "%%~a\*" -mx0
        ) else (
        "%a%" a -t7z "%%~a.7z" "%%~a" -mx0
        )
批次解壓縮:
@echo off
set "a=%ProgramFiles%\7-Zip\7z.exe"
for %%a in (%*) do if exist "%%~a" (
        "%a%" x -oE:\Temp\* "%%~a"
        ) else (
        "%a%" x -oE:\Temp\* "%%~a"
        )
PS:
1. -mx0 (0/1/3/5/7/9, 壓縮率, 預設為5, 數字愈大壓縮率愈高, 0為不壓縮)
2. E:\Temp\ (解壓縮路徑, 請自行修改) 
Comment:
1. 複製下方程式碼並貼到記事本後另存為 *.bat 檔案
2. 將存檔的 *.bat 檔案放到 "C:\Documents and Settings\User\SendTo" (User=使用者帳號)
3. Win7/Win8 路徑:C:\Users\帳號\AppData\Roaming\Microsoft\Windows\SendTo
4. 批次壓縮/封存/解壓縮時請先選擇檔案, 然後按 "右鍵 > 傳送到 > *.bat" 即可
Reference:
EZsoft@PTT.cc
http://leftalan.pixnet.net/blog/post/22992372-7-zip-%E6%89%B9%E6%AC%A1%E8%99%95%E7%90%86