RAR 命令行語法: RAR.exe <命令> [ -<開關> ] <壓縮文件> [ <@列表文件...> ] [ <文件...> ] [ <解壓路徑\> ] 常用命令: ...
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 警告 沒有發生致命錯誤