WinRAR批量壓縮文件夾命令
for /d %%i in (*) do "C:\Program Files\WinRAR\WinRAR.exe" a -r -s -m5 -IBCK "%%i.rar" "%%i"
winrar.exe 命令行參數(shù)
[語法]
RAR <命令> [ -<開關(guān)> ] <壓縮文件> [ <@列表文件...> ]
RAR [ <文件...> ] [ <解壓路徑/> ]
一.簡單的例子和說明:
壓縮文件夾
winrar.exe a -ag -k -r -s -ibck c:/bak.rar c:/dat/
壓縮多個文件
winrar a -ag -ibck bak.rar filename1 filename2
參數(shù)說明
winrar.exe:運行winrar,
如果winrar.exe沒在默認路徑中則需要指明路徑,如c:/Progra~1/winrar/winrar.exe ...;
a :備份所有文件;
-ag :當(dāng)創(chuàng)建壓縮文件時,以格式“YYYYMMDDHHMMSS”附加當(dāng)前日期字符串,文件名bakYYYYMMDDHHMMSS.rar;
-k :鎖定壓縮文件;
-r:備份目錄和子目錄;
-s :創(chuàng)建固實壓縮文件;
-ibck :后臺運行;
c:/bak.rar :備份的路徑和基本名稱(-ag參數(shù)會自動在bak后加上系統(tǒng)當(dāng)前時間),
也可不用-ag參數(shù),通過“%date:~0,4%%date:~5,2%%date:~8,2%”取得時間字串,
也可寫作c:/bak.zip;
c:/dat/ :要備份的文件目錄。
filename1:要壓縮的文件名,可以多個,也可用通配符file*
二.詳細說明:
[命令]
A 增加文件到壓縮包,如果省略參數(shù)A也為添加文件,但不同的是添加當(dāng)前路徑文件到指定路徑;另外如果-AD指定的目錄帶有/則不會添加子目錄的文件:
RAR A ./BACKUP/MYRAR -AD %WINDIR%/IME 添加IME目錄的所有文件(包含子目錄)到當(dāng)前目錄的/BACKU/目錄的MYRAR.RAR中,其中開關(guān)-AD可以不用.
RAR A ./BACKUP/MYRAR -AD %WINDIR%/IME/ 情況同上,只是添加時不包含子目錄中的文件
RAR MYRAR %WINDIR%/SYSTEM 添加當(dāng)前目錄的所有文件(不包含子目錄)到%WINDIR%/SYSTEM/MYRAR.RAR中,同時刪除當(dāng)前目錄的文件
RAR A MYRAR @BACK.LST 根據(jù)BACK.LST列出的文件列表來壓縮文件(這個功能有時很有用,用來備份指定文件)
RAR A -DF MYRAR C:/TEMP 添加TEMP目錄的所有文件(包含子目錄)到MYRAR.RAR中后刪除文件
RAR A -ED MYARR C:/TEMP E:/01 F:/ 同上,只是添加多個目錄到壓縮包中并排除空目錄,
D 從壓縮文件包中刪除指定文件
RAR D MYRAR BOOT.INI 從壓縮包MYRAR中刪除BOOT.INI文件
RAR D MYRAR 刪除壓縮包MYRAR中的所有文件,實際上是刪除壓縮包WINRAR
I 在壓縮包中搜索指定的字符串,支持可選參數(shù)i不區(qū)分大小寫(默認);c區(qū)分大小寫;h十六進制搜索;t使用ANSII UNICODE和OEM字符表(只使用WIN32)
RAR II=boot.ini -R myrar.rar 在當(dāng)前目錄的myrar.rar包含其子目錄中不區(qū)分大小寫查找字符串boot.ini(實際是該文件)
RAR II=boot.ini -r myrar.rar *.ini 在當(dāng)前目錄的MYRAR.RAR包中所有的子目錄中的INI文件中查找BOOT.INI字符串(實際在包中的INI文件中找字符串,MYRAR.RAR可改成*.RAR表示所有包中查找)
RAR IC="First Level" -r c:/*.rar *.txt 在C:/*.RAR包中的*.txt中查找區(qū)分大小寫的字符串"First Level"(注意有空格時使用引號)
RAR IH=f0e0aeaeab2d83e3a9 -R e:/text 在E:/TEXT目錄下的所有壓縮包中搜索十六進制字符串f0 e0 ae ae ab 2d 83 e3 a9
K 鎖定壓縮包以防止任何企圖改變壓縮文件的命令
RAR K MYRAR.RAR
L 列出壓縮包中的所有文件及其他信息如壓縮率等,如果只輸出文件名則使用B變量,如果要更多信息則使用T變量,如果要想獲取壓縮包中的文件并帶路徑則使用V命令
RAR LB MYRAR.RAR>c:/file.lst 把壓縮包中的文件名輸出FILE.LST文件中
RAR VB MYRAR.RAR>C:/FILE.LST 把壓縮包中的帶路徑的文件名輸出到FILE.LST中
M 把文件移動到壓縮包中并同時刪除文件(實際上和RAR A -DF等同),如果指定-ED開關(guān)則不刪除目錄,注意這個命令與A命令的區(qū)別
RAT M MYRAR.RAR C:/TEMP 把C:/TEMP下包含子目錄的所有文件移動到壓縮包中并刪除TEMP目錄及其中的所有文件
RAR M -ED MYRAR.RAR C:/TEMP 把C:/TEMP下包含子目錄的所有文件移動到壓縮包中并刪除TEMP目錄中的所有文件但保留為空目錄
R 修復(fù)壓縮文件,注意的是如果沒有修復(fù)記錄(可以使用RR命令添加修復(fù)記錄,最大可添加524288個恢復(fù)塊),那么RAR對固定壓縮文件的修復(fù)可能性極小,所以建議不要使用這種方式壓縮;如果要修復(fù)卷則使用RC命令
RAR R -Y T.RAR 安靜模式修復(fù)T.RAR壓縮包
RAR RR3% MYRAR.RAR 把壓縮文件%3的大小的恢復(fù)記錄添加到壓縮包中,如果是批處理需要把%3改為%%3或3p,另外可以不跟變量而有RAR自己決定,如 RAR RR MYRAR.RAR(可以使用RV命令添加卷修復(fù)記錄,最大可添加524288個恢復(fù)塊)
RAR RC MYRAR.PART003.RAR 修復(fù)卷PART003,需要事先使用RV添加卷修復(fù)記錄
RAR RV3 MYRAR.PART003.RAR 添加卷修復(fù)記錄,只對卷有效,可以不用變量N讓RAR自己決定;這個命令有時很有效,如給朋友傳文件時只用到卷內(nèi)部分資料則可使用此命令而減少傳其他卷的不必要
RN 重命名壓縮包中的文件名,需要注意的是如果RN命令會忽略以存在的文件,因此使用時要特別小心,RN命令好象對于子目錄中的文件會忽略(即使加-R 開關(guān)一樣)
RAR RN MYRAR.RAR readme.txt readme.bak *.dll *.dl_
S 轉(zhuǎn)化壓縮包為自解壓格式,注意的是RAR同目錄里必須有default.sfx模塊,如果要從自解壓格式中刪除自解壓default.sfx模塊,則使用S-命令
RAR S MYRAR.RAR
X 從壓縮包中帶絕對路徑解壓指定文件到當(dāng)前路徑(不帶路徑則使用E命令,該命令會解壓包含子目錄的所有文件到當(dāng)前根目錄,一般不會用到),可以使用-Y開關(guān)覆蓋已存在文件,使用-av-疲敝身份效檢注釋,-c-屏蔽顯示注釋,-ad指定要釋放的路徑
RAR X -Y MYRAR.RAR 無提示帶路徑解壓MYRAR.RAR到當(dāng)前目錄
RAR X -Y MYRAR.RAR -AD C:/01/ 無提示帶路徑釋放MYIRAR.RAR中包含目錄中的所有文件到指定路徑C:/01中
RAR X -Y -C- MYRAR.RAR *.EXE 無提示帶路徑提取MYRAR.RAR包含子目錄中的所有文件到當(dāng)前目錄
RAR X -Y -C- MYRAR.RAR *.EXE -AD C:/01/ 無提示帶路徑釋放MYRAR.RAR包含子目錄中的所有文件到指定路C:/01目錄中
RAR E -Y -C- MYRAR.RAR *.EXE -AD C:/01/ 無提示釋放MYRAR.RAR包含子目錄中的所有文件到指定路C:/01根目錄中
[-開關(guān)]
這里列舉幾個重要的開關(guān):
一.實現(xiàn)自動備份和還原
-AD,-AP,-EP3:中-AD表示壓縮指定路徑的文件到壓縮包中或釋放壓縮包中的文件到指定路徑中;-AP用于設(shè)置壓縮文件的內(nèi)部路徑;-EP3表示包括盤符在內(nèi)的完整路徑.
ECHO 下面的例子備份SYSTEM目錄中的文件并還原:
IF NOT EXIST F:/SYSBAK MD F:/SYSBAK
ECHO 備份指定文件夾下包含子目錄的所有文件并帶盤符的完整路徑
RAR A F:/SYSBAK/BAK.RAR -AD -EP3 %windir%/SYSTEM
RAR X -Y -EP3 F:/SYSBAK/BAK.RAR
ECHO 下面的例子把當(dāng)前目錄中所有的壓縮包文件解壓到D盤DATA下
rar x -ad *.rar d:/data/
ECHO 下面的例子添加文件'readme.txt'到目錄壓縮文件myrar.rar的'DOCS/ENG'目錄中
RAR A -AP DOCS/ENG MYRAR.RAR readme.txt
-sfx[WinCon.SFX|Default.SFX]:創(chuàng)建自解壓文件,如果要創(chuàng)建DOS下的自解壓請使用WinCon.SFX模塊名,缺省為WIN32,另外注意的是二者之間絕對沒有空格
ECHO 下面?zhèn)浞軮ME目錄的文件為DOS下可執(zhí)行的自解壓包并還原
RAR A -DF -EP3 -SFXWINCON.SFX MYRAR %WINDIR%/IME
RAR X -Y -EP3 MYRAR.EXE
二.按照日期來備份
-AG[格式]:使用當(dāng)前的日期和時間產(chǎn)生壓縮文件名,格式可以為YYYYMMDDHHMMSS,另外可以使用一種特殊格式N來代表備份時產(chǎn)生自動數(shù)字序號,這個格式也可和日期格式組合;另外如果格式的第一個字符為+則會交換基本文件名和日期格式的位置;如果要保留格式字符可以使用{}括起來
RAR A -AGYYYYMM-NN MYBAK C:/BOOT 將產(chǎn)生諸如MYBAK200701-01,MYBAK200701-02的備份
RAR A -AG+YYYYMMN MYBAK C:/BOOT 將產(chǎn)生諸如20070101MYBAK,20070102MYBAK的備份
RAR A -AGyy{year}mm{month}nn MYBAK C:/BOOT 將產(chǎn)生諸如mybak07year01month01,mybak07year01month02的備份
RAR A -AGYYYWWA MYBAK C:/BOOT 將產(chǎn)生2007043的備份(2007年第4周星期三)
三.加密備份和恢復(fù)解密
-p[p]:壓縮時加密或解壓時解密,密碼區(qū)分大小寫,如果要使壓縮包中的某些文件不加密而有些加密,則可以分步操作即先添加不需要密碼的到壓縮包,再使用-P開關(guān)添加需要密碼的文件,或反向操作,如RAR A -P123 MYBAK C:/BOOT;RAR A MYBAK README.TXT
-HP[P]:帶文件頭加密,這種加密方式更安全,用戶沒有密碼無法查看里面的文件列表等信息.
-av:添加身份效檢(創(chuàng)建者信息,最后更新時間和壓縮文件名等)到壓縮包中,只有注冊版才有此功能,身份效檢主要用于軟件發(fā)布,如果要禁止身份效檢或添加身份效檢可以使用-av-開關(guān)
四.壓縮模式和線程
-m<n>:設(shè)置壓縮模式,從底到高壓縮率越高:-m0不壓縮方式儲存;-m1最快;-m2較快;-m3標(biāo)準(zhǔn)(默認);-m4較好;-m5最好
-ms[文件列表]:指定不壓縮而直接儲存壓縮,如一些已經(jīng)壓縮的文件如果在壓縮也不能減少多少體積反而占用了大量時間,一起添加到壓縮包中時可以使用這個開關(guān)(如果沒有指定文件列表則忽略大多少壓縮格式文件)避免再次壓縮,如rar a -ms*.rar;*.zip
-s創(chuàng)建固實壓縮以進一步提高壓縮率,如RAR A -S MYRAR C:/BOOT -R;如果要禁止固實壓縮則使用-S-開關(guān);如果為了減少這種壓縮方式的損壞率可以不要使用這個開關(guān)或可以改用-SN開關(guān)或-SE開關(guān)(如果是分卷壓縮則使用-SV開關(guān));
-v創(chuàng)建或查看分卷壓縮,不使用其他變量則會根據(jù)目標(biāo)媒體自動分卷,如果要查看分卷則最好和V或L命令一起使用以便查看從指定開始卷的所有內(nèi)容,否則只顯示指定卷內(nèi)容;如果要指定分卷的大小可以使用-V<大小>[k|b|f|m|g|G]變量,其中f變量是預(yù)定義大小,如RAR A -S -V1440 FLOPRAR C:/BOOT,該開關(guān)可以多次使用以便為不同的卷設(shè)置不同大小,如RAR A -V100k -V200k -V300k MYRAR,分卷壓縮可以和-sfx開關(guān)一起使用創(chuàng)建自解壓分卷格式,另外該命令不可以和命令'd','f','u','s'一起使用,還有就是a命令不能用來更新分卷壓縮文件而只能創(chuàng)建新的壓縮文件.
-mt<線程>:可以提高壓縮速度,變量在0-16之間,如果未指定則RAR自動根據(jù)CPU數(shù)量設(shè)置,僅使用于WIN版
五.屏蔽顯示有關(guān)操作開關(guān)匯總
-y :-Y對于所有詢問多回答是
-inul:禁止所有消息
-o-:不覆蓋已經(jīng)存在的文件
-o+:覆蓋已經(jīng)存在的文件
-or:存在同名文件時自動添加數(shù)字標(biāo)識命名文件]
-id[c,d,p,q]:禁止版權(quán)消息,禁止完成消息,禁止完成百分比顯示消息,安靜模式除非有錯誤時才提示(幾個開關(guān)可以合并使用,但-IDQ可以代替其他幾個參數(shù)),如RAR A -IDCD MYRAR C:/TEMP僅顯示完成百分比
-c-:禁止顯示注釋
-cfg-:忽略配置文件和RAR環(huán)境變量
-cl:轉(zhuǎn)換文件名為大寫字母
-cu:轉(zhuǎn)換文件名為小寫字母
六.有關(guān)目錄開關(guān)和排除開關(guān)匯總
-ED,-EP,-EP1,-EP3:-ED排除空目錄;-EP排除所有目錄名但不排除里面的文件(排除后如果路徑中有同名文件將會在壓縮包中看到很多同名文件)如把C:/TEMP下包含子目錄的文件全部壓縮到MYRAR.RAR根目錄RAR A -EP MYRAR.RAR C:/TEMP;-EP1徹底排除所有的路徑名稱(本人用這個命令好象沒有任何效果);-EP3包含磁盤的完整路徑,這個開關(guān)在壓縮包里磁盤顯示為_如C_,使用命令是可還原為C:的樣式,常用來備份和恢復(fù)系統(tǒng)
-R,-R0:都是包含子文件夾,可以和很多命令如A,U,F,M,X,E,T,P,V,L,C,CF,S等一起使用(前四個命令將處理工作目錄和所有子目錄的文件,其他命令則處理工作目錄及目錄的壓縮文件),但是有所不同的是前者和A,U,F,M命令一起使用時不能和通配符*和?搭配,而后者可以.另外注意RAR命令還以目錄是否帶有/來區(qū)分是否包含目錄的文件,如果有/則不包含子目錄.
-n<文件>,-x<文件>:前者僅包含指定的文件(如果使用文件列表則使用-n@<文件列表>命令),后者則要排除的指定文件(如果使用文件列表則使用-x@<文件列表>命令),都可以使用通配符,都可以多次使用該開關(guān).如:rar a -r -n*.txt -n*.lst myrar c:/Project c:/Info實際是未簡化的rar a -r myrar c:/Project/*.txt c:/Project/*.lst c:Info/*.txt c:/Info/*.lst命令;rar a -r -x*/temp -x*/temp/* savec c:/* 該命令將壓縮C盤上除了TEMP文件夾目錄及其里面所有文件,注意的是因為-x開關(guān)不能遞歸子目錄,所以只有使用兩次才能生效;rar x -x*.txt docs該命令從DOCS.RAR解壓時把*.txt排除;
-e[+]<屬性>:該命令排除(默認)或包含(使用+標(biāo)記)指定掩碼屬性文件,屬性可使用WIN版本的DSHA分別代表目錄和文件的系統(tǒng),隱藏和只讀屬性,如不壓縮系統(tǒng)盤根目錄的系統(tǒng)或隱藏屬性的文件:rar a -esh myrar c:/;壓縮系統(tǒng)盤所有的目錄(不包含文件):rar a -r -e+d mydirs c:/
七.其他有用參數(shù):
-ioff:在完成操作后關(guān)閉計算機,需要硬件必須支持斷電功能且只有在Win32 版本可用.
-ieml[.][地址1;地址2;...]:如果發(fā)了email后要刪除壓縮包可以添加.到EMAIL地址,如rar a -ieml.xbd@sina.com mybak c:/boot,這個很容易被病毒利用.
所有開關(guān)及及其簡易說明:
ac 壓縮或解壓后清除存檔屬性
ad 添加壓縮文件名到目標(biāo)路徑
ag[格式] 使用當(dāng)前日期生成壓縮文件名
ao 添加具有壓縮屬性的文件
ap<格式> 添加路徑到壓縮文件中
as 同步壓縮文件內(nèi)容
av 添加用戶身份校驗(僅注冊版本可用)
av- 禁用用戶身份校驗
c- 禁用注釋顯示
cfg- 禁用讀取配置
cl 名稱轉(zhuǎn)換為小寫
cu 名稱轉(zhuǎn)換為大寫
df 壓縮后刪除文件
dh 打開共享文件
ds 對固實壓縮文件禁用名稱排序
e[+]<屬性> 設(shè)置文件排除和包括屬性
ed 不添加空目錄
en 不添加"壓縮文件結(jié)束"標(biāo)志
ep 從名稱中排除路徑
ep1 從名稱中排除基本目錄
ep2 展開為完整路徑
ep3 擴展路徑為包含盤符的完全路徑
f 刷新文件
hp[密碼] 同時加密文件數(shù)據(jù)和文件頭
id[c,d,p,q] 禁用消息
ieml[地址] 用 E-mail 發(fā)送壓縮文件
ierr 發(fā)送所有消息到標(biāo)準(zhǔn)錯誤設(shè)備
ilog[名稱] 把錯誤寫到日志文件(只有注冊版本可用)
inul 禁用所有消息
ioff 完成一個操作后關(guān)閉 PC 電源
isnd 啟用聲音
k 鎖定壓縮文件
kb 保留損壞的已解壓文件
m<0..5> 設(shè)置壓縮級別(0-存儲...3-默認...5-最大)
mc<參數(shù)> 設(shè)置高級壓縮參數(shù)
md<大小> 以KB為單位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
ms[ext;ext] 指定存儲的文件類型
mt<線程> 設(shè)置線程數(shù)
n<文件> 僅包含指定的文件
n@ 從標(biāo)準(zhǔn)輸入設(shè)備讀取文件名到包括
n@<列表> 在指定的文件列表包括文件
o+ 覆蓋已存在文件
o- 不覆蓋已存在文件
oc 設(shè)置 NTFS 壓縮屬性
or 自動重命名文件
os 保存 NTFS 流
ow 保存或恢復(fù)文件所有者和組
p[密碼] 設(shè)置密碼
p- 不詢問密碼
r 遞歸子目錄
r0 僅遞歸通配符名稱的子目錄
ri<P>[:<S>] 設(shè)置優(yōu)先級(0-默認,1-最小..15-最大)和以毫秒為單位的休眠時間
rr[N] 添加數(shù)據(jù)恢復(fù)記錄
rv[N] 創(chuàng)建恢復(fù)卷
s[<N>,v[-],e] 創(chuàng)建固實壓縮文件
s- 禁用固實壓縮文件
sc<chr><obj> 指定字符集
sfx[名稱] 創(chuàng)建自解壓壓縮文件
st[名稱] 從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)(stdin)
sl<大小> 處理小于指定大小的文件
sm<大小> 處理超過指定大小的文件
t 壓縮后測試文件
ta<日期> 添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS
tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
tk 保留原始壓縮文件時間
tl 設(shè)置壓縮文件時間為最新文件時間
tn<時間> 添加 <時間> 以后的文件
to<時間> 添加 <時間> 以前的文件
ts<m,c,a>[N] 保存或恢復(fù)文件時間(修改,創(chuàng)建,訪問)
u 更新文件
v 自動檢測創(chuàng)建卷的大小或者列出所有的卷
v<大小>[k,b] 創(chuàng)建卷大小=<大小>*1000 [*1024, *1]
vd 創(chuàng)建容量前清除磁盤內(nèi)容
ver[n] 文件版本控制
vn 使用舊風(fēng)格的卷命名方案
vp 每卷之前暫停
w<路徑> 指定工作目錄
x<文件> 排除指定的文件
x@ 從標(biāo)準(zhǔn)輸入設(shè)備讀取要排除的文件名
x@<列表> 排除指定列表文件中的文件
y 假設(shè)對全部詢問都回答是
z[文件] 從文件讀取壓縮文件注釋