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