1. rar命令行使用方式
RAR 命令行語法
~~~~~~~~~~~~~~
語法
RAR.exe <命令> [ -<開關> ] <壓縮文件> [ <@列表文件...> ]
[ <文件...> ] [ <解壓路徑\> ]
常用命令
a 添加文件到壓縮文件中。
例子:
1) 從當前目錄添加所有的 *.hlp 文件到 help.rar 壓縮文件:
rar a help *.hlp
2) 如果目錄包含文件掩碼或以反斜線結尾,將會應用普通的規則,你需要指定 -r 開關來處理它的子目錄。
下列命令會把 Bitmaps 目錄中除了子目錄外的所有文件添加,因為未
指定開關 -r:
rar a Pictures.rar Bitmaps\*
d 從壓縮文件中刪除文件。請注意,如果這個命令導致壓縮文件中所有文件
全部刪除,這個空的壓縮文件將被刪除。
e 解壓文件到當前目錄。
f 更新壓縮文件中的文件。 更新打包到壓縮文件後被改變的文件。這個命令不
向壓縮文件中添加新文件。
u 更新壓縮文件中的文件。添加不在壓縮文件中的文件和更新打包後改變了的
文件。
m[f] 移動到壓縮文件中[只用於文件]。移動文件和目錄會使壓縮操作完成後它
們被刪除。如果使用變數'f'和/或應用開關'-ed',則不刪除目錄。
v[t,b] 詳細列出壓縮文件內容[技術信息]。文件列出所使用的格式:絕對路徑名,文
件注釋,原始和壓縮後的大小,壓縮率,最近更新日期和時間,屬性,CRC,
壓縮方式和解壓所需的最小RAR版本。當使用't'變數時可選技術信息(主操作
系統,固實標志和老的文件版本標記)顯示。變數 'b' 強制 RAR 只輸出單純
的文件名,而沒有其他任何的附加信息。
列出所有壓縮卷的內容,使用星號('*')代替壓縮文件擴展名或使用'-v'
開關。
例子:
1) 列出 system.rar 壓縮文件的內容 (技術信息)並使用重定向符輸出
到文件 techlist.lst 中
rar vt system >techlist.lst
2) 列出 tutorial.rar 壓縮文件的內容 (單純文件名模式)
rar vb tutorial
x 帶絕對路徑解壓
例子:
rar x test.rar testDir\
注意,目錄名後面要跟\符號,如果沒有testDir這個文件夾,會先自動創建。
如果文件已存在,若要解壓後覆蓋文件,則使用-o+開關,或者用-y開關。若不覆蓋則用-o-開關。
常用開關
-ag[格式]
使用當前的日期和時間生成壓縮文件名。
當創建壓縮文件時附加當前日期字元串到壓縮文件名上。用於每日備份。
附加的字元串格式有幾種可選的格式參數定義或使用"YYYYMMDDHHMMSS"。
字元串的格式可以包含下列字元:
Y - 年
M - 月
MMM - 使用文本字元串作為月名(Jan,Feb,等.)
W - 年的第幾周 (每星期從星期一開始)
A - 星期幾 (星期一 -1,星期日 - 7)
D - 月的第幾天
E - 年的第幾天
H - 小時
M - 分 (如果在小時後,被作為分鍾對待)
S - 秒
N - 壓縮文件數。RAR 搜索要生成的名字的文件是否存在,如果發現
它已經存在,將遞增一個壓縮文件數字,直到生成一個唯一的名字。
'N' 格式化字元在創建卷時不被支持。
上面列出的每個字元串僅表示添加到壓縮文件名中的一個字元。例如,
使用 WW 表示 2 數字的星期或 YYYY 定義 4 數字的年。
如果在格式化字元串的第一個字元是'+',日期字元串和基本壓縮文件名
位置交換,所以日期將在壓縮文件名之前。
格式化字元串可以包含在 '{' 和 '}' 包含的可選字元。此文本插入到壓
縮文件名中。
所有其它字元被不變地添加到文件名上。
如果你需要更新已經存在的壓縮文件,小心使用 -ag 開關。依賴於以前
使用的 -ag 傳送的格式化字元串和時間,生成的和現有的壓縮文件名可
能不匹配。在這種情況下 RAR 會創建一個新的壓縮文件,而不是更新現
有文件。
例子:
1) 使用默認 YYYYMMDDHHMMSS 格式
rar a -ag backup
2) 使用 DD-MMM-YY 格式
rar a -agDD-MMM-YY backup
3) 使用 YYYYMMDDHHMM 格式,替換'backup'之前的日期
rar a -ag+YYYYMMDDHHMM backup
4) 使用 YYYY-WW-A 格式,包含區段描述
rar a -agYYYY{year}-WW{week}-A{wday} backup
5) 使用 YYYYMMDD 和壓縮文件數。它允許你在同一天使用 -agyymmdd-nn
數次,每一個新的壓縮文件名都將包含一個新的遞增數字。
rar a -agYYYYMMDD-NN backup
注意:以上命令會生成文件名為backup{日期字元串}.rar的壓縮包,backup也可以是別的自定義名字。
若想文件名中只保留日期,只需不寫backup只寫.rar即可:rar.exe a –agYYYY-MM-dd .rar
-ed 不添加空目錄
這個開關指出空目錄不被存儲到被創建的壓縮文件中。當解壓這樣一個壓
縮文件時, RAR 會基於他們內部的文件路徑創建非空的目錄。關於空目錄
的信息丟失。非空目錄除了名字外(訪問許可權, 流, 等。)其他所有屬性全
部丟失, 所以只有在你不需要保留這樣的信息時使用此開關。
如果 -ed 和 'm' 命令或 -df 開關一起被使用,RAR 將不能移除空的目錄。
-hp[p] 加密文件數據和頭。
這個開關和 -p[p] 類似,但是開關 -p 只加密文件數據,而使文件名等
其它信息可見。這個開關加密所有包括文件數據、文件名、大小、屬性、
注釋和其它塊等所有可感知壓縮文件區域,所以它提供了更高的安全等
級。在壓縮文件中使用-hp 加密,沒有密碼甚至不可能查看文件列表。
例子:
rar a -hpfGzq5yKw secret report.txt
將添加文件 report.txt 到加密的壓縮文件secret.rar中,使用密碼
'fGzq5yKw'
-m<n> 設置壓縮模式:
-m0 存儲 添加到壓縮文件時不壓縮文件。
-m1 最快 使用最快方式(低壓縮)
-m2 較快 使用快速壓縮方式
-m3 標准 使用標准(默認)壓縮方式
-m4 較好 使用較好壓縮方式(較好壓縮,但是慢)
-m5 最好 使用最大壓縮方式(最好的壓縮,但是最慢)
如果沒有指定這個開關,RAR使用-m3方式(標准壓縮)。
默認情況下,RAR 在 -m1 和 -m2 模式中只使用常規壓縮演算法,高級演算法
像聲音和真彩處理只有在 -m3..-m5 模式下才啟用,提升的文本壓縮只有
在 -m4..-m5 中才被激活。默認值可以使用 -mc 開關替代。
-ms[列表]
指定存儲文件類型。
指定不壓縮而直接存貯的文件類型。這個開關被用來存儲已經壓縮的文件,
這將幫助增加壓縮速度,而不會顯著的減小壓縮率。
可選參數 <列表> 參數定義使用分號隔開的文件擴展名列表。例如,
-msrar;zip;jpg 將強制RAR不壓縮直接存儲所有的RAR和ZIP壓縮文件和
JPG 圖像。它也允許在列表中指定通配符文件掩碼,所以 -ms*.rar;
*.zip;*.jpg 也可以工作。
如果 <列表> 沒有被指定,-ms 開關將使用默認的包含下列文件類型的擴
展設置:
7z, ace, arj, bz2, cab, gz, jpeg, jpg, lha, lzh, mp3,
rar, taz, tgz, z, zip
-mt<線程>
設置線程數。僅可用於 Window 版本。
<線程> 參數可以是從 0 到 16 的值。它定義對於壓縮演算法活動線程的
推薦數。如果它大於 0,RAR 會使用多線程版本的壓縮演算法,在多處理
器系統上提供更高的速度。真實的活動線程數可能和指定的不同。
如果 <線程> 是 0,RAR 會使用單線程壓縮演算法。
改變 <線程> 參數輕微影響壓縮率,所以如果所有其它壓縮參數相等而
使用不同的 -mt 開關創建的壓縮文件不會解壓得一樣連貫。
如果沒有指定 -mt 開關,RAR 會嘗試檢測可用的處理器的數量並自動
選擇優化的線程數。
-or 如果相同名字的文件已經存在則自動重命名解壓的文件。重命名文件將得
到象 'filename(N).txt' 的名字,'filename.txt' 的位置是原始的文件
名,如果文件存在 'N' 是從 1 增加數字。
-o[+|-] 設置覆蓋模式。可以在解壓或更新文件時使用。下列模式可用:
-o 覆蓋前詢問
(默認用於解壓文件);
-o+ 覆蓋所有
(默認用於更新的壓縮文件);
-o- 跳過已存在的文件。
-o+ 覆蓋已存在的文件。
-o- 不覆蓋已存在的文件。
-p[p] 壓縮時,使用字元串<p>作為密碼加密文件。密碼大小寫敏感。如果你在
命令行忽略密碼,你會看到一個輸入密碼的提示。
例子:
rar a -pmyhoney secret1 *.txt
添加 *.txt文件並用密碼"myhoney"加密.
-r 包含子文件夾,可以使用命令:
a,u,f,m,x,e,t,p,v,l,c,cf 和 s.
當使用命令 'a','u','f','m' 將處理在所有子目錄中以及當前工作目
錄的中的文件。
當使用命令 x,e,t,p,v,l,c,cf 或 s 將處理在子目錄以及當前工
作目錄中所有壓縮文件。
-r- 禁用遞歸。
在某些情況下,即使沒有指定 -r 開關 RAR 也會自動啟用遞歸。開關 -r-
禁止它。
壓縮時如果你指定了目錄名,目錄名不包含通配符,即使 -r 開關沒有指定,
默認 RAR 添加目錄的內容。如果磁碟根目錄沒有把通配符作為文件掩碼指定,
RAR 也會自動啟用遞歸。開關 -r- 禁用此行為。
例子:
rar a -r- arc dirname
命令僅會添加空目錄 'dirname' 目錄並忽略它的內容。下列命令:
rar a -r- arc c:\
會僅壓縮 c: 根目錄的內容並不會包含子目錄。
-ta<日期>
只處理指定日期之後修改的文件。
日期字元串的格式是 YYYYMMDDHHMMSS。它允許在日期字元串中插入'-'
或 ':'的分隔符,並忽略後部區域。例如,下列開關是正確的:
-ta2001-11-20在內部它被轉換成 -ta20011120000000 並作為"從2001
年11月20日0時0分0秒後修改的區域"對待。
-tb<日期>
只處理指定日期之前修改的文件。開關的格式和 -ta<日期> 相同。
-tn<時間>
處理指定時間以後的新文件。時間字元串格式時:
[<ndays>d][<nhours>h][<nminutes>m][<nseconds>s]
例如,使用開關 -tn15d 來處理更新了15天的文件,-tn2h30m 來處理更
新了2小時30分的文件。
-to<時間>
處理指定時間以前的舊文件。開關的格式和 -tn<時間> 相同。
-x<f> 排除指定的文件 <f>,通配符可以用在名稱和文件掩碼的文件部分。你
可以數次指定開關'-x'。
如果掩碼包含通配符,它應用到當前目錄和它的子目錄。沒有通配符它不
遞歸,所以如果你要在所有文件夾中排除某些「文件名」,你需要指定兩
個掩碼:用於當前目錄的「文件名」和用於子目錄的「*\filename」。如果
你知道一個文件的確切路徑,你可以是使用「路徑\文件名」語法來僅排除
「文件名」的此副本。如果你在解壓一個壓縮文件時使用 -x路徑\文件名
語法,「路徑」必須是一個壓縮文件內的路徑,而不是在解壓後的磁碟上
的文件路徑。
例子:
1) rar a -r -x*.bak -x*.rar rawfiles
*.bak 和 *.rar 不會添加到 rawfiles 中
2) rar a -r -x*\temp -x*\temp\* savec c:\*
壓縮 C: 上除了 Temp 文件夾中的臨時目錄和文件外的所有文件
3) rar x -x*.txt docs
從 docs.rar 解壓除了 *.txt 外的所有文件
-y 對於所有詢問全部回答是。
-? 顯示命令和開關的幫助。和沒有參數或輸入非法命令行選項時相同。
-- 停止開關掃描
這個開關告訴 RAR 命令行中沒有更多的開關了。如果壓縮文件或文件名
以 - 符號開頭,可以使用它。沒有'--'開關,這樣的名字將被作為開關
對待。
返回值
~~~~~~
RAR 成功操作後返回 0 。非 0 返回碼意味著操作由於某種錯誤被取消:
255 用戶中斷 用戶中斷操作
9 創建錯誤 創建文件錯誤
8 內存錯誤 沒有足夠的內存進行操作
7 用戶錯誤 命令行選項錯誤
6 打開錯誤 打開文件錯誤
5 寫錯誤 寫入磁碟錯誤
4 被鎖定壓縮文件 試圖修改先前使用 'k' 命令鎖定的壓縮文件
3 CRC 錯誤 解壓縮時發生一個 CRC 錯誤
2 致命錯誤 發生一個致命錯誤
1 警告 沒有發生致命錯誤
0 成功 操作成功
參考:
http://jingyan..com/article/a948d651b954a90a2dcd2e30.html
2. 如何使用bat批處理通過rar命令壓縮/解壓縮目錄
1、首先,右鍵單擊壓縮器圖標並選擇「打開屬性」。
3. 關於bat中使用rar/zip壓縮命令
壓縮參數
用法: 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 刷新文件
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 A-G)
ms[ext;ext] 指定存儲的文件類型
mt<線程> 設置線程數
n<文件> 僅包括指定文件
n@ 從標准輸入設備讀取要包括的文件名稱
n@<列表> 在指定列表文件包括文件
o+ 覆蓋已存在文件
o- 不覆蓋已存在文件
oc 設置 NTFS 壓縮屬性
or 自動重命名文件
os 保存 NTFS 流
ow 保存或恢復文件所有權和組
[密碼] 設置密碼
p- 不詢問密碼
r 包含子目錄
r0 僅包含通配符名稱的子目錄
ri
[:] 設置優先順序 (0-默認,1-最小..15-最大) 和休眠時間(毫秒)
rr[N] 添加數據恢復記錄
rv[N] 創建恢復卷
s[,v[-],e] 創建固實壓縮文件
s- 禁用固實壓縮文件
sc[obj] 指定字元集
sfx[名稱] 創建自解壓文件
si[名稱] 從標准輸入設備讀取數據
sl<大小> 處理小於指定大小的文件
sm<大小> 處理大於指定大小的文件
t 壓縮後測試文件
ta<日期> 添加日期 <日期> 後修改的文件,日期格式 YYYYMMDDHHMMSS
tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
tk 保留原始壓縮文件時間
tl 設置壓縮文件時間為最新時間
tn<時間> 添加 <時間> 以後的文件
to<時間> 添加 <時間> 以前的文件
ts[N] 保存或恢復文件時間(修改,創建,訪問)
u 更新文件
v 自動檢測創建卷的大小或者列出所有的卷
v<大小>[k,b] 創建卷大小=<大小>*1000 [*1024, *1]
vd 創建卷前清除磁碟內容
ver[n] 文件版本控制
vn 使用舊樣式卷命名方案
vp 每卷之前暫停
w<路徑> 指定工作目錄
x<文件> 排除指定的文件
x@ 從標准輸入設備讀取要排除的文件名
x@<列表> 排除指定列表文件中的文件
y 假設對全部詢問都回答是
z[文件] 從文件讀取壓縮文件注釋
舉個例子: 建立一個批處理BackFav.bat(名字可以隨便起)文件內容:
REM 這個批處理文件是用來自動備份我的收藏夾
REM WinRAR <命令> -<開關1> -<開關N> <壓縮文件> <文件> <@列表文件> <解壓路徑\>
"D:\Program Files\WinRAR\WinRAR.exe" a -as -r -sfx -zsfxpara.txt -EP1 "d:\my documents\Favorites.exe" "%USERPROFILE%\Favorites"
===================================================
參數說明:
a: 添加指定的文件(源目錄,這里是"%USERPROFILE%\Favorites")和文件夾到壓縮文件(目標文件,這里是"d:\my documents\Favorites.exe")中。
-as: 這是一個開關,指添加方式是「同步壓縮文件內容」
-r: 表示「包含子文件夾」
-sfx: 表示建立的是一個自解壓文件
-zsfxpara.txt: 從文件sfxpara.txt讀取壓縮文件注釋,這注釋有什麼用後面解釋
-ep1: 表示不把路徑%USERPROFILE%保存在壓縮文件中
2. 注釋文件的作用
建立壓縮文件的時候不光要考慮壓縮那些文件,還要考慮怎麼解壓縮。通過注釋文件可以向壓縮包傳遞許多有用的信息。
sfxpara.txt內容:
PATH=%USERPROFILE%\
Silent=1
例:
"C:\Program Files\WinRAR\Rar.exe" a "g:\aa.rar" "f:\11.txt" 壓縮"f:\11.txt"到G盤,命名為「aa」
"C:\Program Files\WinRAR\Rar.exe" d "g:\aa.rar" "22.bat" 刪除壓縮包"g:\aa.rar"中的"22.bat" 文件
"C:\Program Files\WinRAR\Rar.exe" d "g:\aa.rar" "ABC" 刪除壓縮包"g:\aa.rar"中的"ABC" 文件夾
4. 如何使用winrar命令行壓縮一個文件夾,並且打開壓縮文件是直接顯示該文件夾
@echo off
"C:\Program Files\WinRAR\rar.exe" a -ep1 -R C:\Users\Administrator\Desktop\1\1.rar C:\Users\Administrator\Desktop\1
試一試。我找這個問題找了好久,最後找不到,有個同事對VB有些了解,幫忙弄的這個。
"C:\Program Files\WinRAR\rar.exe"這個是rar的路徑,也可以WinRAR a這種。
-ep1是關鍵,沒有這個就是所有文件都在一個路徑里了。
-R這個不太懂。
C:\Users\Administrator\Desktop\1\1.rar這個是指把壓縮包放在哪兒,名字為1的rar文件。C:\Users\Administrator\Desktop\1這個是指把哪個路徑的文件壓縮。具體根據實際情況自己修改,這只是我自己建的例子。如有錯誤,歡迎指正。如有幫助,點贊啥的也不要吝嗇哈。