winrar命令行參數

[語法]
RAR <命令>   [ -<開關> ]   <壓縮文件>   [ <@列表文件...> ]
RAR [ <文件...> ]   [ <解壓路徑\> ]

一.簡單的例子和說明:

壓縮文件夾
winrar.exe a -ag -k -r -s -ibck c:\bak.rar c:\dat\
壓縮多個文件
winrar a -ag -ibck bak.rar filename1 filename2
 
參數說明
winrar.exe:運行winrar,
如果winrar.exe沒在默認路徑中則需要指明路徑,如c:\Progra~1\winrar\winrar.exe ...;
a :備份所有文件;
-ag :當創建壓縮文件時,以格式“YYYYMMDDHHMMSS”附加當前日期字符串,文件名bakYYYYMMDDHHMMSS.rar;
-k :鎖定壓縮文件;
-r:備份目錄和子目錄;
-s :創建固實壓縮文件;
-ibck :後臺運行;
c:\bak.rar :備份的路徑和基本名稱(-ag參數會自動在bak後加上系統當前時間),
也可不用-ag參數,通過“%date:~0,4%%date:~5,2%%date:~8,2%”取得時間字串,
也可寫作c:\bak.zip;
c:\dat\ :要備份的文件目錄。

filename1:要壓縮的文件名,可以多個,也可用通配符file*

 

二.詳細說明:

[命令]
A 增加文件到壓縮包,如果省略參數A也爲添加文件,但不同的是添加當前路徑文件到指定路徑;另外如果-AD指定的目錄帶有\則不會添加子目錄的文件:
RAR A .\BACKUP\MYRAR -AD %WINDIR%\IME       添加IME目錄的所有文件(包含子目錄)到當前目錄的\BACKU\目錄的MYRAR.RAR中,其中開關-AD可以不用.
RAR A .\BACKUP\MYRAR -AD %WINDIR%\IME\      情況同上,只是添加時不包含子目錄中的文件    
RAR MYRAR %WINDIR%\SYSTEM                   添加當前目錄的所有文件(不包含子目錄)到%WINDIR%\SYSTEM\MYRAR.RAR中,同時刪除當前目錄的文件
RAR A MYRAR @BACK.LST                       根據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 在壓縮包中搜索指定的字符串,支持可選參數i不區分大小寫(默認);c區分大小寫;h十六進制搜索;t使用ANSII UNICODE和OEM字符表(只使用WIN32)
RAR II=boot.ini -R myrar.rar            在當前目錄的myrar.rar包含其子目錄中不區分大小寫查找字符串boot.ini(實際是該文件)
RAR II=boot.ini -r myrar.rar *.ini      在當前目錄的MYRAR.RAR包中所有的子目錄中的INI文件中查找BOOT.INI字符串(實際在包中的INI文件中找字符串,MYRAR.RAR可改成*.RAR表示所有包中查找)
RAR IC="First Level" -r c:\*.rar *.txt 在C:\*.RAR包中的*.txt中查找區分大小寫的字符串"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開關則不刪除目錄,注意這個命令與A命令的區別
RAT M MYRAR.RAR C:\TEMP      把C:\TEMP下包含子目錄的所有文件移動到壓縮包中並刪除TEMP目錄及其中的所有文件
RAR M -ED MYRAR.RAR C:\TEMP 把C:\TEMP下包含子目錄的所有文件移動到壓縮包中並刪除TEMP目錄中的所有文件但保留爲空目錄

R 修復壓縮文件,注意的是如果沒有修復記錄(可以使用RR命令添加修復記錄,最大可添加524288個恢復塊),那麼RAR對固定壓縮文件的修復可能性極小,所以建議不要使用這種方式壓縮;如果要修復卷則使用RC命令
RAR R -Y T.RAR             安靜模式修復T.RAR壓縮包
RAR RR3% MYRAR.RAR         把壓縮文件%3的大小的恢復記錄添加到壓縮包中,如果是批處理需要把%3改爲%%3或3p,另外可以不跟變量而有RAR自己決定,如 RAR RR MYRAR.RAR(可以使用RV命令添加捲修復記錄,最大可添加524288個恢復塊)
RAR RC MYRAR.PART003.RAR   修復卷PART003,需要事先使用RV添加捲修復記錄
RAR RV3 MYRAR.PART003.RAR 添加捲修復記錄,只對卷有效,可以不用變量N讓RAR自己決定;這個命令有時很有效,如給朋友傳文件時只用到卷內部分資料則可使用此命令而減少傳其他卷的不必要  

RN 重命名壓縮包中的文件名,需要注意的是如果RN命令會忽略以存在的文件,因此使用時要特別小心,RN命令好象對於子目錄中的文件會忽略(即使加-R 開關一樣)
RAR RN MYRAR.RAR readme.txt readme.bak *.dll *.dl_

S 轉化壓縮包爲自解壓格式,注意的是RAR同目錄裏必須有default.sfx模塊,如果要從自解壓格式中刪除自解壓default.sfx模塊,則使用S-命令
RAR S MYRAR.RAR

X 從壓縮包中帶絕對路徑解壓指定文件到當前路徑(不帶路徑則使用E命令,該命令會解壓包含子目錄的所有文件到當前根目錄,一般不會用到),可以使用-Y開關覆蓋已存在文件,使用-av-疲敝身份效檢註釋,-c-屏蔽顯示註釋,-ad指定要釋放的路徑
RAR X -Y MYRAR.RAR                       無提示帶路徑解壓MYRAR.RAR到當前目錄
RAR X -Y MYRAR.RAR -AD C:\01\            無提示帶路徑釋放MYIRAR.RAR中包含目錄中的所有文件到指定路徑C:\01中
RAR X -Y -C- MYRAR.RAR *.EXE             無提示帶路徑提取MYRAR.RAR包含子目錄中的所有文件到當前目錄
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根目錄中

[-開關]
這裏列舉幾個重要的開關:

一.實現自動備份和還原
-AD,-AP,-EP3:中-AD表示壓縮指定路徑的文件到壓縮包中或釋放壓縮包中的文件到指定路徑中;-AP用於設置壓縮文件的內部路徑;-EP3表示包括盤符在內的完整路徑.
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盤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]:創建自解壓文件,如果要創建DOS下的自解壓請使用WinCon.SFX模塊名,缺省爲WIN32,另外注意的是二者之間絕對沒有空格
ECHO 下面備份IME目錄的文件爲DOS下可執行的自解壓包並還原
RAR A -DF -EP3 -SFXWINCON.SFX MYRAR %WINDIR%\IME
RAR X -Y -EP3 MYRAR.EXE

二.按照日期來備份
-AG[格式]:使用當前的日期和時間產生壓縮文件名,格式可以爲YYYYMMDDHHMMSS,另外可以使用一種特殊格式N來代表備份時產生自動數字序號,這個格式也可和日期格式組合;另外如果格式的第一個字符爲+則會交換基本文件名和日期格式的位置;如果要保留格式字符可以使用{}括起來
RAR A -AGYYYYMM-NN MYBAK C:\BOOT                將產生諸如MYBAK200701-01,MYBAK200701-02的備份
RAR A -AG+YYYYMMN MYBAK C:\BOOT                 將產生諸如20070101MYBAK,20070102MYBAK的備份
RAR A -AGyy{year}mm{month}nn MYBAK C:\BOOT      將產生諸如mybak07year01month01,mybak07year01month02的備份
RAR A -AGYYYWWA MYBAK C:\BOOT                   將產生2007043的備份(2007年第4周星期三)

三.加密備份和恢復解密
-p[p]: 壓縮時加密或解壓時解密,密碼區分大小寫,如果要使壓縮包中的某些文件不加密而有些加密,則可以分步操作即先添加不需要密碼的到壓縮包,再使用-P開關添加需要密碼的文件,或反向操作,如RAR A -P123 MYBAK C:\BOOT;RAR A MYBAK README.TXT
-HP[P]:帶文件頭加密,這種加密方式更安全,用戶沒有密碼無法查看裏面的文件列表等信息.
-av:添加身份效檢(創建者信息,最後更新時間和壓縮文件名等)到壓縮包中,只有註冊版纔有此功能,身份效檢主要用於軟件發佈,如果要禁止身份效檢或添加身份效檢可以使用-av-開關

四.壓縮模式和線程
-m<n>:設置壓縮模式,從底到高壓縮率越高:-m0不壓縮方式儲存;-m1最快;-m2較快;-m3標準(默認);-m4較好;-m5最好
-ms[文件列表]:指定不壓縮而直接儲存壓縮,如一些已經壓縮的文件如果在壓縮也不能減少多少體積反而佔用了大量時間,一起添加到壓縮包中時可以使用這個開關(如果沒有指定文件列表則忽略大多少壓縮格式文件)避免再次壓縮,如rar a -ms*.rar;*.zip
-s創建固實壓縮以進一步提高壓縮率,如RAR A -S MYRAR C:\BOOT -R;如果要禁止固實壓縮則使用-S-開關;如果爲了減少這種壓縮方式的損壞率可以不要使用這個開關或可以改用-SN開關或-SE開關(如果是分卷壓縮則使用-SV開關);
-v 創建或查看分卷壓縮,不使用其他變量則會根據目標媒體自動分卷,如果要查看分卷則最好和V或L命令一起使用以便查看從指定開始卷的所有內容,否則只顯示指定卷內容;如果要指定分卷的大小可以使用-V<大小>[k|b|f|m|g|G]變量,其中f變量是預定義大小,如RAR A -S -V1440 FLOPRAR C:\BOOT,該開關可以多次使用以便爲不同的卷設置不同大小,如RAR A -V100k -V200k -V300k MYRAR,分卷壓縮可以和-sfx開關一起使用創建自解壓分卷格式,另外該命令不可以和命令'd','f','u','s'一起使用,還有就是a命令不能用來更新分卷壓縮文件而只能創建新的壓縮文件.
-mt<線程>:可以提高壓縮速度,變量在0-16之間,如果未指定則RAR自動根據CPU數量設置,僅使用於WIN版

五.屏蔽顯示有關操作開關彙總
-y :-Y對於所有詢問多回答是
-inul:禁止所有消息
-o-:不覆蓋已經存在的文件
-o+:覆蓋已經存在的文件
-or:存在同名文件時自動添加數字標識命名文件]
-id[c,d,p,q]:禁止版權消息,禁止完成消息,禁止完成百分比顯示消息,安靜模式除非有錯誤時才提示(幾個開關可以合併使用,但-IDQ可以代替其他幾個參數),如RAR A -IDCD MYRAR C:\TEMP僅顯示完成百分比
-c-:禁止顯示註釋
-cfg-:忽略配置文件和RAR環境變量
-cl:轉換文件名爲大寫字母
-cu:轉換文件名爲小寫字母

六.有關目錄開關和排除開關彙總
-ED,-EP,-EP1,-EP3:-ED 排除空目錄;-EP排除所有目錄名但不排除裏面的文件(排除後如果路徑中有同名文件將會在壓縮包中看到很多同名文件)如把C:\TEMP下包含子目錄的文件全部壓縮到MYRAR.RAR根目錄RAR A -EP MYRAR.RAR C:\TEMP;-EP1徹底排除所有的路徑名稱(本人用這個命令好象沒有任何效果);-EP3包含磁盤的完整路徑,這個開關在壓縮包裏磁盤顯示爲_如 C_,使用命令是可還原爲C:的樣式,常用來備份和恢復系統
-R,-R0:都是包含子文件夾,可以和很多命令如 A,U,F,M,X,E,T,P,V,L,C,CF,S等一起使用(前四個命令將處理工作目錄和所有子目錄的文件,其他命令則處理工作目錄及目錄的壓縮文件),但是有所不同的是前者和A,U,F,M命令一起使用時不能和通配符*和?搭配,而後者可以.另外注意RAR命令還以目錄是否帶有\來區分是否包含目錄的文件,如果有\則不包含子目錄.
-n<文件>,-x<文件>:前者僅包含指定的文件(如果使用文件列表則使用 -n@<文件列表>命令),後者則要排除的指定文件(如果使用文件列表則使用-x@<文件列表>命令),都可以使用通配符,都可以多次使用該開關.如: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開關不能遞歸子目錄,所以只有使用兩次才能生效;rar x -x*.txt docs該命令從DOCS.RAR解壓時把*.txt排除;
-e[+]<屬性>:該命令排除(默認)或包含(使用+ 標記)指定掩碼屬性文件,屬性可使用WIN版本的DSHA分別代表目錄和文件的系統,隱藏和只讀屬性,如不壓縮系統盤根目錄的系統或隱藏屬性的文件:rar a -esh myrar c:\;壓縮系統盤所有的目錄(不包含文件):rar a -r -e+d mydirs c:\

七.其他有用參數:
-ioff:在完成操作後關閉計算機,需要硬件必須支持斷電功能且只有在Win32 版本可用.
-ieml[.][地址1;地址2;...]:如果發了email後要刪除壓縮包可以添加.到EMAIL地址,如rar a [email protected] mybak c:\boot,這個很容易被病毒利用.
所有開關及及其簡易說明:
   ac             壓縮或解壓後清除存檔屬性
   ad             添加壓縮文件名到目標路徑
   ag[格式]       使用當前日期生成壓縮文件名
   ao             添加具有壓縮屬性的文件
   ap<格式>       添加路徑到壓縮文件中
   as             同步壓縮文件內容
   av             添加用戶身份校驗(僅註冊版本可用)
   av-            禁用用戶身份校驗
   c-             禁用註釋顯示
   cfg-           禁用讀取配置
   cl             名稱轉換爲小寫
   cu             名稱轉換爲大寫
   df             壓縮後刪除文件
   dh             打開共享文件
   ds             對固實壓縮文件禁用名稱排序
   e[+]<屬性>     設置文件排除和包括屬性
   ed             不添加空目錄
   en             不添加"壓縮文件結束"標誌
   ep             從名稱中排除路徑
   ep1            從名稱中排除基本目錄
   ep2            展開爲完整路徑
   ep3            擴展路徑爲包含盤符的完全路徑
   f              刷新文件
   hp[密碼]       同時加密文件數據和文件頭
   id[c,d,p,q]    禁用消息
   ieml[地址]     用 E-mail 發送壓縮文件
   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 A-G)
   ms[ext;ext]    指定存儲的文件類型
   mt<線程>       設置線程數
   n<文件>        僅包含指定的文件
   n@             從標準輸入設備讀取文件名到包括
   n@<列表>       在指定的文件列表包括文件
   o+             覆蓋已存在文件
   o-             不覆蓋已存在文件
   oc             設置 NTFS 壓縮屬性
   or             自動重命名文件
   os             保存 NTFS 流
   ow             保存或恢復文件所有者和組
   p[密碼]        設置密碼
   p-             不詢問密碼
   r              遞歸子目錄
   r0             僅遞歸通配符名稱的子目錄
   ri<P>[:<S>]    設置優先級(0-默認,1-最小..15-最大)和以毫秒爲單位的休眠時間
   rr[N]          添加數據恢復記錄
   rv[N]          創建恢復卷
   s[<N>,v[-],e] 創建固實壓縮文件
   s-             禁用固實壓縮文件
   sc<chr><obj>   指定字符集
   sfx[名稱]      創建自解壓壓縮文件
   st[名稱]       從標準輸入設備讀取數據(stdin)
   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[文件]        從文件讀取壓縮文件註釋

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章