是利用winrar自帶的一個命令行工具rar.exe來完成的
這個程序的命令行參數很豐富
直接在命令行輸入"c:\program files\winrar\rar.exe"(假如你的rar是裝在默認位置的話)
下面的批處理程序以一堆冒號為分界,分為三段
第一段,根據.rar文件的文件關聯找到rar的安裝目錄
這里用到了ftype命令
在命令行中輸入ftype就可以查看所有的文件關聯信息
這里我們只關注Winrar
所以輔助了一個通道命令|find找到winrar所在的行
然後調用了一個叫做:getrarpath的子程序
這個子程序在第三段做了定義
它將path變數暫時設成了winrar的安裝目錄
path變數有什麼用呢?當你輸入一個程序名,沒有路徑時,系統會在當前路徑和path指定的文件夾下尋找
這樣我們輸入rar.exe,系統就會自動在當前目錄和C:\program files\winrar\下尋找rar.exe。這么寫純粹是為了用起來方便
第二段只有一句話
用到了rar.exe的e參數,即解壓。可以指定路徑,如
rar e d:\bc\ed.rar d:\test\
不指定的話則解壓到當前目錄
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
setlocal
for /f "delims== tokens=1,*" %%a in ('ftype^|find /i "winrar="') do call:getrarpath %%b
if not exist "%path%\rar.exe" echo 找不到WinRAR&exit /b
::根據.rar的文件關聯查找rar所在的路徑
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
rar e d:\bc\ed.rar
::解壓d:\bc\ed.rar到當前目錄。當前目錄指的是cmd的工作目錄
exit /b
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:getrarpath
::將工作路徑path設為winrar所在目錄
path %~dp1
exit /b
2. 如何使用bat批處理通過rar命令壓縮/解壓縮目錄
1、首先,右鍵單擊壓縮器圖標並選擇「打開屬性」。
3. 壓縮文件如何批處理
進入rar的安裝目錄,然後輸入rar /?
就可以看到這個壓縮命令的詳細使用幫助了,下面是我的版本的使用說明.
F:\安裝後的軟體\解壓縮軟體WinRAR>rar /?
RAR 3.60 beta 6 版權所有 (c) 1993-2006 Alexander Roshal 3 Jul 200
注冊給 E D S
用法: rar <命令> -<開關 1> -<開關 N> <壓縮文件> <文件...>
<@列表文件...> <解壓路徑\>
<注釋>
a 添加文件到壓縮文件
c 添加壓縮文件注釋
cf 添加文件注釋
ch 更改壓縮文件參數
cw 寫入壓縮文件注釋到文件
d 刪除壓縮文件中的文件
e 解壓壓縮文件到當前目錄
f 刷新壓縮文件中的文件
i[參數]=<串> 在壓縮文件中查找字元串
k 鎖定壓縮文件
l[t,b] 列出壓縮文件[技術信息,簡潔]
m[f] 移動到壓縮文件[僅對文件]
p 列印文件到標准輸出設備
r 修復壓縮文件
rc 重建丟失的卷
rn 重命名壓縮文件
rr[N] 添加數據恢復記錄
rv[N] 創建恢復卷
s[名字|-] 轉換壓縮文件為自解壓格式或反之
t 測試壓縮文件
u 更新壓縮文件中的文件
v[t,b] 詳細列出壓縮文件[技術信息,簡潔]
x 用絕對路徑解壓文件
<開關>
- 停止掃描
ac 壓縮或解壓後清除存檔屬性
ad 添加壓縮文件名到目標路徑
ag[格式] 使用當前日期生成壓縮文件名
ao 添加具有存檔屬性的文件
ap<路徑> 添加路徑到壓縮文件中
as 同步壓縮文件內容
av 添加用戶身份校驗 (僅注冊版)
av- 禁用用戶身份校驗
c- 禁用注釋顯示
cfg- 禁用讀取配置
cl 名稱轉換為小寫
cu 名稱轉換為大寫
df 壓縮後刪除文件
dh 打開共享文件
ds 對固實壓縮文件禁用名稱排序
e[+]<屬性> 設置文件排除和包括屬性
ed 不添加空目錄
en 不添加"壓縮文件結束"標志
ep 從名稱中排除路徑
ep1 從名稱中排除基本目錄
ep2 展開為完整路徑
ep3 擴展路徑為包含盤符的完全路徑
f 刷新文件
fcu[文件] 從 Unicode 文件讀取壓縮文件注釋
hp[密碼] 同時加密文件數據和文件頭
id[c,d,p,q] 禁用信息顯示
ieml[地址] 郵寄壓縮文件
ierr 發送所有消息到標准錯誤設備
ilog[名稱] 把錯誤寫到日誌文件 (僅注冊版)
inul 禁用所有消息
ioff 完成一個操作後關閉 PC 電源
isnd 啟用聲音
k 鎖定壓縮文件
kb 保留損壞的已解壓文件
m<0..5> 設置壓縮級別(0-存儲...3-默認...5-最大)
mc<參數> 設置高級壓縮參數
md<大小> 以KB為單位的字典大小(64,128,256,512,1024,2048,4096 or
ms[ext;ext] 指定存儲的文件類型
mt<線程> 設置線程數
n<文件> 僅包括指定文件
n@ 從標准輸入設備讀取要包括的文件名稱
n@<列表> 在指定列表文件包括文件
o+ 覆蓋已存在文件
o- 不覆蓋已存在文件
oc 設置 NTFS 壓縮屬性
or 自動重命名文件
os 保存 NTFS 流
ow 保存或恢復文件所有權和組
[密碼] 設置密碼
p- 不詢問密碼
r 包含子目錄
r0 僅包含通配符名稱的子目錄
ri<P>[:<S>] 設置優先順序 (0-默認,1-最小..15-最大) 和休眠時間(毫秒)
rr[N] 添加數據恢復記錄
rv[N] 創建恢復卷
s[<N>,v[-],e] 創建固實壓縮文件
s- 禁用固實壓縮文件
sfx[名稱] 創建自解壓文件
si[名稱] 從標准輸入設備讀取數據
sl<大小> 處理小於指定大小的文件
sm<大小> 處理大於指定大小的文件
t 壓縮後測試文件
ta<日期> 添加日期 <日期> 後修改的文件,日期格式 YYYYMMDDHHMMSS
tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
tk 保留原始壓縮文件時間
tl 設置壓縮文件時間為最新時間
tn<時間> 添加 <時間> 以後的文件
to<時間> 添加 <時間> 以前的文件
ts<m,c,a>[N] 保存或恢復文件時間(修改,創建,訪問)
u 更新文件
v 自動檢測創建卷的大小或者列出所有的卷
v<大小>[k,b] 創建卷大小=<大小>*1000 [*1024, *1]
vd 創建卷前清除磁碟內容
ver[n] 文件版本控制
vn 使用舊樣式卷命名方案
vp 每卷之前暫停
w<路徑> 指定工作目錄
x<文件> 排除指定的文件
x@ 從標准輸入設備讀取要排除的文件名
x@<列表> 排除指定列表文件中的文件
y 假設對全部詢問都回答是
z[文件] 從文件讀取壓縮文件注釋
4. 批處理 將一個文件夾下的所有壓縮包解壓,壓縮包裡面還包含壓縮包,共2333層
@echooff
setPATH=%PATH%;%ProgramFiles(x86)%WinRAR;
:loop
set"est="
for/r%%ain(*.rar*.zip)do(
if/i"%%~xa"==".rar"(
setest=.
WinRAR.exex-ad-y"%%~sa"*"%%~sdpa"
del"%%~a"
)else(
if/i"%%~xa"==".zip"(
setest=.
WinRAR.exex-ad-y"%%~sa"*"%%~sdpa"
del"%%~a"
)
)
)
ifdefinedestgotoloop
放到rar、zip壓縮包文件一起後運行。
注意:解壓後會刪除原始壓縮包文件,如果有必要,請先自行備份壓縮包到其它目錄!
5. 7-zip如何利用批處理壓縮及解壓縮文件夾
WINDOWS操作不行嗎。選中 你要打包的目錄,滑鼠右鍵彈出菜單選擇壓縮包文件名就行了
盤符路徑也可以選
7-ZIP,WIN ZIP,WIN RAR這些都是WINDOWS界面軟體了,
用命令行壓縮文件都是古老的DOS時期ARJ之類的軟體採用的
6. 批處理 壓縮文件
@echooff
rem多重壓縮/打包文件
set#=Anyquestion&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%%z%
cd/d"%~dp0"
set"folder=com.huawei.aod"
set"winrar=C:ProgramFilesWinRARWinRAR.exe"
ifnotexist"%winrar%"(echo;"%winrar%"notfound&gotoend)
echo;壓縮".\%folder%"--^>".\%folder%.zip"
"%winrar%"a-r-ep1-y".\%folder%.zip"".\%folder%"
echo;刪除".\%folder%"
rd/s/q".\%folder%"
echo;重命名".\%folder%.zip"--^>"%folder%"
ren".\%folder%.zip""%folder%"
echo;壓縮"%~dp0"--^>".AOD.zip"
"%winrar%"a-r-ep1-y".AOD.zip""%~dp0"-x"%~nx0"
echo;重命名".AOD.zip"--^>"AOD.hwt"
ren".AOD.zip""AOD.hwt"
echo;%#%+%$%%$%%z%
pause
exit
7. 批處理解壓所有子文件夾內的壓縮包
在需要解壓的路徑下進入cmd,輸入下面這一段
for/r%ain(*.rar,*.zip)do"%ProgramFiles%WinRARWinRar.exe"x"%~a""%~dpa"-ibck
8. 批處理 將一個文件夾下的所有壓縮包解壓,壓縮包裡面還包含壓縮包,都要解壓
@echooff
for/f%%iin('dir/a-d/b/w*.rar*zip')do("C:Progra~1WinRARWinRAR.exe"e-y%%i"%%~ni")
for/f%%ain('dir/ad/b/w')do(
pushd%%a
for/f%%bin('dir/a-d/b/w*.rar*.zip')do("C:Progra~1WinRARWinRAR.exe"e-y%%b"%%~nb")
popd
)
echo*********************
echo解壓完畢
echo*********************
pause
註:利用WinRAR,如果不是默認安裝路徑C:Progra~1WinRAR,請在批處理中重新指定WinRAR的安裝路徑。把批處理跟需解壓的壓縮包文件放在同目錄里
9. 如何用批處理解壓壓縮包裡面的單個文件
壓縮包有多種,,常見的有 cab,,zip,,rar,,7z ,,不同格式的壓縮包,解壓命令不一樣,你可以對指定格式的壓縮包,網路查閱相應資料,
下面是winrar 5.1版本的內部命令
RAR 5.01 版權所有 (c) 1993-2013 Alexander Roshal 1 十二月 2013
已注冊給 State Grid Corporation Of China
用法: rar <命令> -<開關 1> -<開關 N> <壓縮文件> <文件...>
<@列表文件...> <解壓路徑\>
<注釋>
a 添加文件到壓縮文件
c 添加壓縮文件注釋
ch 更改壓縮文件參數
cw 寫入壓縮文件注釋到文件
d 刪除壓縮文件中的文件
e 不帶壓縮文件路徑解壓文件
f 刷新壓縮文件中的文件
i[參數]=<串> 在壓縮文件中查找字元串
k 鎖定壓縮文件
l[t[a],b] 壓縮文件列表 [technical[all], bare]
m[f] 移動到壓縮文件[僅對文件]
p 列印文件到標准輸出設備
r 修復壓縮文件
rc 重建丟失的卷
rn 重命名壓縮文件
rr[N] 添加數據恢復記錄
rv[N] 創建恢復卷
s[名字|-] 轉換壓縮文件為自解壓格式或反之
t 測試壓縮文件
u 更新壓縮文件中的文件
v[t[a],b] 壓縮文件詳細列表 [technical[all],bare]
x 用絕對路徑解壓文件
<開關>
- 停止掃描
@[+] 禁用 [啟用] 文件列表
ac 壓縮或解壓後清除存檔屬性
ad 添加壓縮文件名到目標路徑
ag[格式] 使用當前日期生成壓縮文件名
ai 忽略文件屬性
ao 添加具有存檔屬性的文件
ap<路徑> 添加路徑到壓縮文件中
as 同步壓縮文件內容
c- 禁用注釋顯示
cfg- 禁用讀取配置
cl 名稱轉換為小寫
cu 名稱轉換為大寫
df 壓縮後刪除文件
dh 打開共享文件
dr 刪除文件到回收站
ds 對固實壓縮文件禁用名稱排序
dw 壓縮後擦除文件
e[+]<屬性> 設置文件排除和包括屬性
ed 不添加空目錄
en 不添加"壓縮文件結束"標志
ep 從名稱中排除路徑
ep1 從名稱中排除基本目錄
ep2 展開為完整路徑
ep3 擴展路徑為包含盤符的完全路徑
f 刷新文件
hp[密碼] 同時加密文件數據和文件頭
ht[b|c] 選擇文件校驗和的哈希類型 [BLAKE2,CRC32]
id[c,d,p,q] 禁用信息顯示
ieml[地址] 郵寄壓縮文件
ierr 發送所有消息到標准錯誤設備
ilog[名稱] 把錯誤寫到日誌文件 (僅注冊版)
inul 禁用所有消息
ioff 完成一個操作後關閉 PC 電源
isnd 啟用聲音
k 鎖定壓縮文件
kb 保留損壞的已解壓文件
log[f][=名稱] 寫入名稱到日誌文件
m<0..5> 設置壓縮級別(0-存儲...3-默認...5-最大)
ma[4|5] 指定壓縮文件格式的版本
mc<參數> 設置高級壓縮參數
md<n>[k,m,g] 字典大小, 單位 KB, MB 或 GB
ms[ext;ext] 指定存儲的文件類型
mt<線程> 設置線程數
n<file> 附加過濾器包含文件
n@ 從標准輸入設備讀取附加過濾掩碼
n@<list> 從文件列表讀取附加過濾掩碼
o[+|-] 設置覆蓋模式
oc 設置 NTFS 壓縮屬性
oh 把硬鏈接保存為鏈接代替文件
oi[0-4][:min] 把完全相同的文件保存為引用
ol 保存符號連接作為連接而不是文件
or 自動重命名文件
os 保存 NTFS 流
ow 保存或恢復文件所有權和組
[密碼] 設置密碼
p- 不詢問密碼
qo[-|+] 添加快速打開信息 [無|強制]
r 包含子目錄
r- 禁用遞歸
r0 僅包含通配符名稱的子目錄
ri<P>[:<S>] 設置優先順序 (0-默認,1-最小..15-最大) 和休眠時間(毫秒)
rr[N] 添加數據恢復記錄
rv[N] 創建恢復卷
s[<N>,v[-],e] 創建固實壓縮文件
s- 禁用固實壓縮文件
sc<chr>[obj] 指定字元集
sfx[名稱] 創建自解壓文件
si[名稱] 從標准輸入設備讀取數據
sl<大小> 處理小於指定大小的文件
sm<大小> 處理大於指定大小的文件
t 壓縮後測試文件
ta<日期> 添加日期 <日期> 後修改的文件,日期格式 YYYYMMDDHHMMSS
tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
tk 保留原始壓縮文件時間
tl 設置壓縮文件時間為最新時間
tn<時間> 添加 <時間> 以後的文件
to<時間> 添加 <時間> 以前的文件
ts<m,c,a>[N] 保存或恢復文件時間(修改,創建,訪問)
u 更新文件
v<大小>[k,b] 創建卷大小=<大小>*1000 [*1024, *1]
vd 創建卷前清除磁碟內容
ver[n] 文件版本控制
vn 使用舊樣式卷命名方案
vp 每卷之前暫停
w<路徑> 指定工作目錄
x<文件> 排除指定的文件
x@ 從標准輸入設備讀取要排除的文件名
x@<列表> 排除指定列表文件中的文件
y 假設對全部詢問都回答是
z[文件] 從文件讀取壓縮文件注釋
壓縮文件命令:
"c:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 d:\web.rar d:\abc\
解壓文件命令:
"c:\Program Files\WinRAR\Rar.exe" x -t -o-p d:\web.rar d:\abc\
純手工輸入,望採納