※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2017-12-01 15:42:17
看板 EZsoft
作者 標題 Re: [請益] 如何使用7z來批次壓縮檔案?
時間 Thu Nov 30 23:56:47 2017
: @echo off
: set a=c:\program files\7-zip\7zG.exe
: for %%a in (%*) do (
: dir /a %%a|findstr "DIR" >nul 2>nul && (
: "%a%" a -tzip "%%~dpa%%~na.zip" "%%~a\*"
: ) || (
: "%a%" a -tzip "%%~dpa%%~na.zip" %%a
: )
: )
鉤沉一下,這個批次檔雖然可用,但某些情況下會有問題,因此我寫了個改良版的:
:: 將多個資料夾或檔案拖曳至此批次檔,即個別打包為 .cbz
:: 資料夾會將其下的檔案打包,檔案則直接打包
@echo off
chcp 65001
set "ZIP=%ProgramFiles%\7-Zip\7z.exe"
set ARGS=%*
setlocal EnableDelayedExpansion
for %%F in (!ARGS!) do (
endlocal
if exist "%%~F\" (
"%ZIP%" a -tzip "%%~F.cbz" "%%~F\*" -mx0 -xr!desktop.ini -xr!Thumb.db
) else (
"%ZIP%" a -tzip "%%~F.cbz" "%%~F" -mx0
)
setlocal
)
endlocal
說明:
* 第 4 行加上轉換為 UTF-8 編碼以避免檔名含有非 Big5 字元時的潛在問題。
* 第 5 行 7Z 路徑改用 %ProgramFiles% (雖然這路徑好像也不太會動到XD)。
* 囉嗦的粉紅色那幾行是為了避免檔名含有 ( ) & ^ 等特殊字元時出錯。
* 第 5 行 7Z 路徑改用 %ProgramFiles% (雖然這路徑好像也不太會動到XD)。
* 囉嗦的粉紅色那幾行是為了避免檔名含有 ( ) & ^ 等特殊字元時出錯。
註:即使這樣改了,如果檔案或資料夾含有 ^ 字元且其絕對路徑不含半形空白,
仍會出錯。這是 CMD 本身的問題,微軟不改版是無法解決的。
* 第 10 行採用比 dir | findstr 更精簡且語義更佳的方式判斷是否為資料夾。
* 一般是包漫畫才會不包入資料夾本身,
* 第 10 行採用比 dir | findstr 更精簡且語義更佳的方式判斷是否為資料夾。
* 一般是包漫畫才會不包入資料夾本身,
因此這裡包成 .cbz (本質是 ZIP) 且不壓縮的方式。
如有其他種類的需求可自行修改相關參數:
* 改成 7Z 格式:將 11 和 13 行的 -tzip 改成 -t7z,.cbz 改成 .cb7 或 .7z
* 改變壓縮等級:修改 11 和 13 行的 -mx0 (例如最大是 -mx9)
--
《終結內容農場》瀏覽器套件
Firefox: https://mzl.la/2g0I0ry (桌機 & Android 手機)
Chrome: http://bit.ly/2wDWWyP
真相: https://i.imgur.com/WTHmuVJ.png
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.30.20
※ 文章代碼(AID): #1Q82f4CB (EZsoft)
※ 文章網址: https://www.ptt.cc/bbs/EZsoft/M.1512057412.A.30B.html
推 : 推1F 12/01 01:41
推 : 大大對 Windows Batch 檔好熟喔!@@2F 12/01 12:45
→ : 另外也推簽名檔的《終結內容農場》瀏覽器套件
→ : 另外也推簽名檔的《終結內容農場》瀏覽器套件
--
※ 看板: terievv 文章推薦值: 1 目前人氣: 0 累積人氣: 2075
作者 danny0838 的最新發文:
- 反萊豬等4大公投案將在12月18日投票,中選會11日舉辦最終場公投意見發表會 ,反方代表、醫師林應然會中說,「我的孫子不會怕吃萊牛、萊豬的問題,那個 量那麼少,講什麼食安問題?」他也以小兒科執業經驗為 …365F 69推 135噓
- 懶人吧大家一起懶人。 之前也搜集了不少資料,在此提供給不知如何回應正方論點的人參考。 希望正方能理性討論。 Q:核四重啟初步規劃書是台電內部文件 1. 正方無法證明此文件的真實性, 台電也已發布正式聲 …218F 49推 15噓
- 首先,蓋不好不一定表示有人瀆職。 想瞭解為什麼核四花大錢蓋成這樣, 可以好好讀讀林宗堯的《核四論》: 簡單講就是台電沒有設計核電廠的經驗, 卻好高鶩遠設計出全世界獨一無二的特規核電廠, 一邊設計一邊採 …95F 4推 29噓
- 你如果想證明安檢通過就保證原能會通過, 首先要證明經濟部安檢小組辦的安檢的試運轉測試 等同於原能會的系統功能試驗報告(試運轉測試), 不要因為名稱一樣就一直張飛打岳飛, 一直說模擬考過關就表示正式考會 …126F 7推 11噓
點此顯示更多發文記錄
( ̄︶ ̄)b ethicizer 說讚!
回列表(←)
分享