之前有個網友問說,要怎麼樣批次解壓縮某個目錄下的壓縮檔
所以就有這篇文章出現了。使用前請先確定你有裝winrar~
如果不是裝在預設路徑的話,要修改WINRAR_PATH這個參數
@ECHO OFF REM AFTER_UNRAR_DELETE_FILE=YES 解壓後刪除原始的壓縮檔 REM AFTER_UNRAR_DELETE_FILE=NO 解壓後保留原始的壓縮檔 REM 在此設定要不要刪原始檔(大小寫有分別) SET AFTER_UNRAR_DELETE_FILE=NO REM 在此設定WINRAR的路徑 SET WINRAR_PATH=C:\PROGRA~1\WinRAR\WinRAR.exe FOR %%F IN (*.rar) DO ( ECHO "解壓 %%F..." MKDIR "Unrar_%%F" %WINRAR_PATH% x "%%F" * "Unrar_%%F"\ IF %AFTER_UNRAR_DELETE_FILE%==YES (Del "%%F") )
延伸閱讀:WinRAR於指令模式自動化壓縮
請問如果是有解壓密的壓縮檔呢?
加上-p的參數,詳細可以參考下面的參數說明
UNRAR 4.00 自由軟體 Copyright (c) 1993-2011 Alexander Roshal
使用方法: unrar – –
e 從壓縮檔解壓縮並忽略路徑
l[t,b] 列出壓縮檔 [技術性的, 簡易式]
p 列印檔案到 stdout
t 測試壓縮的檔案
v[t,b] 冗長式的壓縮檔內容清單 [技術性的, 簡易式]
x 從壓縮檔解壓縮並使用完整路徑
– 停止開關掃描
ac 壓縮或解壓縮後清除「保存」屬性
ad 附加壓縮檔名至目的地資料夾
ai 忽略檔案屬性
ap 在壓縮檔內設定路徑
av- 停用加入憑證驗證
c- 停用註解顯示
cfg- 停用環境變數讀取
cl 轉換檔名成小寫
cu 轉換檔名成大寫
dh 開啟共享的檔案
ep 排除檔名的路徑
ep3 展開路徑成完整路徑,包含磁碟機代號
f 重新整理檔案
id 停用訊息
ierr 傳送所有的錯誤到 stderr
inul 停用錯誤訊息
ioff 操作完畢關閉電腦
kb 保留解壓縮不完整的檔案
n 只包含指定的檔案
n@ 從 stdin 讀取要包含的檔名
n@ 包含指定清單檔之中的檔案
o[+|-] 設定覆寫模式
oc 設定 NTFS 「壓縮」屬性
or 自動重新命名檔案
ow 儲存或還原檔案所有人或群組
p[密碼] 設定密碼
p- 不要詢問密碼
r 遞迴子資料夾
ri[:] 設定優先權 (0-預設,1-最小..15-最大) 及停頓時間 (微秒)
sl 處理比指定還小的檔案
sm 處理比指定還大的檔案
ta 處理指定日期之後修改的檔案
tb 處理指定日期之前修改的檔案
tn 處理比指定時間還新的檔案>
to 處理比指定時間還舊的檔案>
ts[N] 儲存或恢復檔案時間 (修改的日期、建立時間、存取時間)
u 更新檔案
v 列出所有分割檔
ver[n] 檔案版本控制項
vp 每個分割檔案進行前先暫停
x 排除指定的檔案
x@ 從 stdin 讀取要排除的檔名
x@ 排除指定清單檔之中的檔案
y 所有問題的預設值為「是」