RAR 是一个让你在命令行模式中管理压缩文件的控制台应用。RAR 提供压缩、加
密、数据恢复和许多其它此手册中描述的其它功能。
RAR 只支持 RAR 格式压缩文件,它默认有 .rar 扩展名。不支持ZIP 和其他格
式。即使创建压缩文件时指定了 .zip 扩展名,它仍然是 RAR 格式的。Windows 用户
可以 WinRAR,它支持更多的压缩文件类型,包括 RAR 和 ZIP 格式。
WinRAR 提供了图形用户界面和命令行模式。虽然控制台 RAR 和图形界面 WinRAR
有相似的命令行语法,但是它们还有有一些不同。所以推荐使用此 rar.txt 手册用于
控制台 RAR(rar.exe 在 Windows 版本的情况下),winrar.chm 是图形界面 WinRAR
(winrar.exe) 的帮助文件。
配置文件
~~~~~~~~
Unix 版本的 RAR 从用户的 home 或 /etc 目录中的 .rarrc 文件读取配置文件信息
(存储在 HOME 环境变量中)
Windows 的版本 RAR 从 rar.ini 文件读取配置文件信息,它放在 rar.exe 文件相
同的目录中。
这个文件包含下列字符串:
switches=任何 RAR 开关,用空格分开
例如:
switches=-m5 -s
环境变量
~~~~~~~~
可以通过建立"RAR"环境变量来添加默认参数到命令行中.
例如,在 Unix 中,下列命令行可以被添加到你的配置中:
RAR='-s -md1024'
export RAR
RAR 将使用这个字符串作为命令行的默认参数,并将使用 1024KB 字典大小来创建
“固实”压缩文件。
RAR 控制选项使用下列优先级:
命名行开关 最高优先级
在 RAR 变量中的开关 低优先级
保存在配置文件中的开关 最低优先级
日志文件
~~~~~~~~
如果在命令行或配置文件中指定开关 -ilog ,RAR 将会把处理压缩文件中遇到的错误
等写到日志文件中。读取开关 -ilog 描述获得更多信息。
固实压缩的文件列表 - rarfiles.lst
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rarfiles.lst 包含一个用户定义的文件列表,告诉 RAR 添加文件到固实压缩文件时的顺
序。它可以包含文件名通配符和指定项目 -$default。默认项目定义了这个文件中与
其他项目不相符时的顺序清单位置。 注释字符是 ';'.
在 Windows 中,这个文件应该放在 RAR 所在的或 %APPDATA%\WinRAR 目录中,
在 Unix 中- 放在用户的 home 目录或在 /etc 中。
提高压缩率和操作速度的提示:
- 在压缩文件中,小文件应该被组织在一起;
- 频繁被处理的文件应该放在开始的位置。
普通的掩码越靠近顶端优先权就越高,但是这个规则存在例外。如果 rarfiles.lst
包含两个掩码,并且所有文件既匹配第一个掩码,也匹配第二个掩码, 较小的子集
或者更精确的匹配拥有更高的优先权。例如,如果你用 *.cpp 和 f*.cpp 掩码,
f*.cpp 拥有更高的优先权。
RAR 命令行语法
~~~~~~~~~~~~~~
语法
RAR <命令> [ -<开关> ] <压缩文件> [ <@列表文件...> ]
[ <文件...> ] [ <解压路径\> ]
描述
命令行选项 (命令和开关) 提供了使用 RAR 创建和管理压缩文件的控制方法。命
令是一个字符串(或单个的字母),命令 RAR 去执行一个相应的操作。开关被用来
改变 RAR 执行操作的方法。其它参数是压缩文件名和被压缩的文件或要从压缩文件
中被解压文件。
列表文件是一个包括处理的文件名的纯文本文件。第一列应该以文件名开始。可以
在//字符后添加注释。例如,你可以创建包含下列字符串的 backup.lst:
c:\work\doc\*.txt //备份文本文档
c:\work\image\*.bmp //备份图片
c:\work\misc
接着运行:
rar a backup @backup.lst
如果你希望从标准输入设备读取文件名,指定空的文件列表名(只有@)。
默认, 控制台 RAR 的列表文件中使用单字节编码。但是可以使用 -sc<字符集>l
开关重定义。
你可以在同一命令行指定普通文件名和列表文件。如果文件和列表
文件都未被指定,那么 RAR 将默认是 *.*,来处理所有文件。
许多 RAR 命令,例如解压、测试和列表,都允许在压缩文件名中使用通配符。如
在压缩文件名掩码中没有指定扩展名,RAR 会认为是 .rar,所以 * 意味着所有
.rar 扩展名的压缩文件。如果你需要处理所有没有扩展名的压缩文件,请使用
*. 掩码。*.* 掩码选择所有文件。在压缩和删除时,压缩文件名中不允许有通配
符。
在 Unix 中,你需要将 RAR 命令行参数置于单引号或双引号中,防止被 Shell
解释。例如,这个命令将从当前目录中所有的 RAR 压缩文件中解压的 *.asm 文件:
rar e '*.rar' '*.asm'
命令可以是下列中的任何一个:
a 添加文件到压缩文件中。
例子:
1) 从当前目录添加所有的 *.hlp 文件到 help.rar 压缩文件:
rar a help *.hlp
2) 把当前目录和子目录的所有文件压缩为 362000 字节大小、固实的、
自解压分卷压缩文件并对没个卷添加恢复记录:
rar a -r -v362 -s -sfx -rr save
因为尾指定文件名,假设为所有文件 (*)。
3) 作为一个特别的例外,如果目录名被作为参数指定并且目录名不包
含文件掩码和以反斜线结尾,即使没有指定 -r 开关,目录和子目录的
所有内容都会被添加到压缩文件中。
下面的命令会把 Bitmaps 目录和它的子目录中的所有文件添加到 RAR
压缩文件 Pictures.rar 中:
rar a Pictures.rar Bitmaps
4) 如果目录包含文件掩码或以反斜线结尾,将会应用普通的规则,你
需要指定 -r 开关来处理它的子目录。
下列命令会把 Bitmaps 目录中除了子目录外的所有文件添加,因为未
指定开关 -r:
rar a Pictures.rar Bitmaps\*
c 添加压缩文件注释。当压缩文件被处理时注释被显示。文件的注释长度限
制到 32767 字节
例子:
rar c distrib.rar
注释也可以使用 -z[名称] 开关从文件添加:
下列命令从 info.txt 文件添加一个注释:
rar c -zinfo.txt dummy
ch 改变压缩文件参数。
此命令能和大多数压缩文件变量开关一起使用修改压缩文件参数。对于象
-cl, -cu, -tl 等没有专门命令的开关特别方便。
它不能重新压缩、解密或加密压缩文件数据,它不能整合或创建卷。如果
不和其它开关一起使用,'ch' 命令仅复制压缩文件数据而不修改它。
例如:
设置压缩文件时间为最新的文件:
rar ch -tl files.rar
cw 写压缩文件注释到指定文件。
输出文件格式依赖于 -sc 开关。
如果输出文件名没有指定,注释数据会被发送到标准输出设备。
例子:
1) rar cw oldarch comment.txt
2) rar cw -scuc arc unicode.txt
3) rar cw arc
d 从压缩文件中删除文件。请注意,如果这个命令导致压缩文件中所有文件
全部删除,这个空的压缩文件将被删除。
e 不带压缩路径解压文件。
解压的文件不包括它们的路径部分,因此所有文件都创建到同一个目标目录
中。
如果你要解压完整路径名,请使用 'x' 命令。
例子:
rar e -or html.rar *.css css\
从 html.rar 压缩文件中解压所有 *.css 文件到 css 文件夹,不包括存
档的路径。多个文件有相同的名称时自动重命名解压的文件。
f 更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个命令不
向压缩文件中添加新文件。
i[i|c|h|t]=<字符串>
在压缩文件中查找字符串。
支持下列可选参数:
i - 不区分大小写(默认);
c - 区分大小写搜索;
h - 十六进制搜索;
t - 使用 ANSI, Unicode 和 OEM 字符表 (只有 Windows 可用);
如果没有指定任何参数,它可以使用简化的命令行语法 i<字符串> 来代
替 i=<字符串>
它允许指定带有另外一个参数的 't' 变量,例如,ict=字符串 在上面提
及的所有表中执行区分大小写的搜索。
例子:
1) rar "ic=first level" -r c:\*.rar *.txt
在 c:\*.rar 压缩文件中的 *.txt 文件执行区分大小写的 "first level"
字符串的搜索
2) rar ih=f0e0aeaeab2d83e3a9 -r e:\text
在 e:\text 目录下的 rar 压缩文件中搜索十六进制字符串
f0 e0 ae ae ab 2d 83 e3 a9。
k 锁定压缩文件。任何试图改变压缩文件的命令都会被忽略。
例子:
rar k final.rar
l[t[a],b]
压缩文件的内容列表[技术信息[全部], 无修饰]。
'l' 列出存档文件的属性、大小、日期、时间和名称,每个文件一行。如
果文件被加密,行以 * 号开始。
'lt' 以多行模式显示详细的文件信息。此信息包括文件校验和值、主机
OS、压缩选项和其他参数。
'lta' 不仅提供文件的详细信息,也给出服务器头,如 NTFS 流或文件安
全数据。
'lb' 列出单纯的带有路径的文件名,每行一个,没有任何其他信息。
你可以使用 -v 开关列出卷组中所有卷的内容: rar l -v vol.part1.rar
命令 'lt', 'lta' 和 'lb' 等同于 'vt', 'vta' 和 'vb'。
m[f] 移动到压缩文件中[只用于文件]。移动文件和目录会使压缩操作完成后它
们被删除。如果使用变量'f'和/或应用开关'-ed',则不删除目录。
p 打印文件到标准输出设备。
你可以把这个命令和 -inul 开关一起使用来禁止所有的 RAR 信息,并只
打印文件数据。当你需要发送一个文件到标准输出设备时,这也许很重要。
r 修复压缩文件。压缩文件修复是在两阶段中完成的。首先,在损坏的压缩
文件中查找恢复记录(参照'rr'命令)。如果压缩文件包含以前添加的恢复
记录,并且如果损坏的数据恢复区域是连续并且小于恢复记录的纠错码大
小,则重建压缩文件成功的几率很高。当这个阶段完成,一个名为
fixed.arcname.rar 的新压缩文件会被创建,'arcname' 的位置是原始的
(损坏的)压缩文件名。
如果损坏的压缩文件不包含恢复记录或如果压缩文件没有完全恢复导致大
的损伤,将执行第二阶段。这一阶段期间只重建压缩文件的结构,而不可
能恢复校验失败的文件。它仍然可能恢复未受损的文件,因文件结构破坏。
这对于非固实压缩文件通常有用。此阶段不会影响加密文件头的压缩文件,
这样的文件只有在存在恢复记录时才能被修复。
当第二阶段完成,重建结构的压缩文件被保存为 rebuilt.arcname.rar,
'arcname' 的位置是原始压缩文件名。
默认情况下,修复的压缩文件创建到当前目录中,但是你可以添加一个可选
的 destpath\ 参数指定其他目标目录。
例子:
rar r buggy.rar c:\fixed\
修复 buggy.rar 并把结果放到 'c:\fixed' 目录中。
rc 使用恢复卷(.rev 文件)重建丢失的卷。你需要指定任何已存在的卷作为
压缩文件名,例如,'rar rc backup.part03.rar'
读取 'rv' 命令描述得到关于恢复卷的信息。
rn 重命名压缩文件。
命令语法是:
rar rn <压缩文件名> <源文件名1> <目标文件名1> ... <源文件名N> <目
标文件名N>
例如,下列命令:
rar rn data.rar readme.txt readme.bak info.txt info.bak
在压缩文件 data.rar 中将把 readme.txt 重命名为 readme.bak 并把
info.txt 重命名为 info.bak。
在源文件和目标文件名中可以使用通配符来进行简单像改变文件扩展名
的名称转换。例如:
rar rn data.rar *.txt *.bak
将把所有的 *.txt 文件重命名为 *.bak。
RAR 不检查目标文件名是否已经在压缩文件中存在,所以你需要小心,
防止重名。尤其是使用通配符时特别重要。这个命令有潜在的危险,
因为一个错误的通配符可以损坏所有的压缩文件名。
rr[N] 添加数据恢复记录。可选,冗余信息(恢复记录)可以被添加到压缩文件
中。在增大压缩文件大小的同时,它能在磁盘错误或其它数据损坏的情
况下帮助恢复存档的文件,只要损坏不是太严重。可以使用命令“r”
(repair) 处理这种损坏。
RAR 4.x 和 RAR 5.0 压缩文件使用不同的恢复记录结构和算法。
RAR 4.x 恢复记录基于 XOR 算法。你可以用恢复区块数或压缩文件大小
的百分比来指定 4.x 恢复记录的大小。只是将指定区块数直接添加到
“rr”后,如“rr1000”指定 1000 个区块。要使用百分比则可以在百
分数后附加“p”或“%”后缀,如“rr5p”或“rr5%”表示 5%。注意,
如果你从 Windows 的 .bat 或 .cmd 文件运行这个命令时,你需要使用
“rr5%%”代替“rr5%”,因为批处理命令把符号'%'作为批处理文件开
始的参数。在这种情况下你可以使用‘p’ 代替‘%’更方便。
RAR 4.x 恢复区块有 512 字节长,如果损坏的区域是连续的,每个分区
可以帮助恢复 512 字节的损坏信息。在多重损坏的情况下,此值肯能会
低。最大的恢复区块数是 524288。
4.x 恢复记录的大小可以使用公式<压缩文件大小>/256 + <恢复记录数>
*512字节 估计。
RAR 5.0 恢复记录使用 Reed-Solomon 纠错码。其修复连续损坏的能力和
RAR 4.x 一样,允许恢复数据略少于恢复记录大小。但它在有多重损坏区
域时比 RAR 4.x 记录更有效。
RAR 5.0 恢复记录不使用 512 字节区块,你仅可以用压缩文件大小的百分
比来指定它的大小。不管‘%’或‘p’后缀是否存在,RAR 5.0 格式中,
RAR 都会把值作为百分比对待。所以‘rr5’和‘rr5p’都是 5% 的意思。
由于服务数据开销实际产生的恢复记录大小只是大约匹配用户定义的百分
比,对于小压缩文件差距比较大。
RAR 5.0 恢复记录的大小不能超过被保护的压缩文件的大小,所以你不能
使用大约 100% 的值作为参数。越大的恢复记录在创建和修复时的处理都
会越慢。
RAR 5.0 恢复记录比恢复记录本身更耐损坏,可以利用部分损坏的恢复记
录数据。但是,请注意,“修复”命令不修复恢复记录的损坏块。只有文
件数据可以被更正。压缩文件修复成功后,您可能需要对保存的文件创建
一个新的恢复记录。
如果压缩文件数据损坏位置的位置没有偏移,4.x 和 5.0 的记录都很有
效。如果你使用某些特殊的软件从损坏的媒介复制一个压缩文件,并有用
零填补受损区域或从复制文件中切除受损区域的选择,最好选择用零或任
何其他值填充,因为它可以保存原始数据的位置。不过,尽管不是最优的
模式,两个版本的恢复记录都能试图修复被删除或插入合理大小,数据位
置移动的数据。RAR 5.0 恢复记录处理删除和插入的情况比 RAR 4.x 更
有效。
如果你不带任何可选参数使用‘rr’命令,WinRAR 默认会把恢复记录的
大小设为压缩文件大小的 3%。
例子:
rar rr5p arcname
添加压缩文件大小 5% 的恢复记录。
rv[N] 创建恢复卷(.rev文件),以后它可以用于重建卷组中丢失的文件。这个命
令只对多卷压缩文件敏感,你需要在组中指定第一个分卷文件的文件名。
例如:
rar rv3 data.part01.rar
这个功能可以被用来备份,例如,发送一个多卷压缩文件到一个新组,并
且部分接收者没有收其中的一些文件。重新发送恢复卷代替普通卷,可以
减少传送文件的总数。
每个恢复卷可以重建一个丢失的 RAR 卷。例如,如果你有30个卷,3个恢
复卷,你可以创建任何3个丢失的卷。如果.rev文件的数目少于丢失卷的
数目,重建将不可能。对于普通和恢复卷的总数,RAR 4.x 不能超过255,
RAR 5.0 不能超过 65535。
原来的 RAR 卷在卷被创建后不能被修改。修复算法使用存储在 REV 文件
和 RAR 卷中的数据来重建丢失的 RAR 卷。所有如果你修改了 RAR 卷,
例如,在创建 REV 文件后锁定它们,修复操作将失败。
除了恢复数据,RAR 5.0 恢复卷文件也存储了类似于文件校验和的服务信
息来保护 RAR 文件。所以它们比它们要保护的 RAR 卷要稍大。所以如果
你要把 RAR 和 REV 文件单独复制的移动媒介中,你需要把它考虑在内并
指定 RAR 卷的大小比媒介的大小少几 K 字节。
选项
参数指定创建恢复卷的数目,必须少于RAR卷的总数。你也可以
附加一个百分号到这个参数上,这样创建的.rev文件的数目将等于从 RAR
卷总数获得的这个百分比。 例如:
rar rv15% data.part01.rar
RAR 不管是使用‘rc’命令或自动时,如果在解压时无法定位下一卷,并
且发现可用数目的 .rev 文件,对丢失的卷和损坏的卷都试图重建。
损坏卷的原始副本在被重建前重命名为 *.bad。例如,volname.part03.rar
将被重命名为volname.part03.rar.bad。
s[名称] 转换压缩文件成自解压格式。压缩文件和自解压模块合并(使用
default.sfx模块或在开关中指定)。在 Windows 版本中 default.sfx 应
该放在RAR.exe 所在目录下,在 Unix 中在用户的 home 目录中,在
/usr/lib 或 /usr/local/lib 下。
s- 从已存在的自解压压缩文件中删除自解压模块。RAR 创建一个不带自解压
模块的新的压缩文件,原来的自解压文件不会被删除。
t 测试压缩文件。为了验证指定的文件,这个命令执行虚拟的文件解压操作,
不写出任何输出数据流。
例子:
在当前目录测试压缩文件:
或对于 Unix:
rar t '*'
当前目录开始,测试所有子目录下的压缩包:
rar t -r *
或对于 Unix:
rar t -r '*'
u 更新压缩文件中的文件。添加不在压缩文件中的文件和更新打包后改变了
的文件。
v[t[a],b]
详细列出压缩文件内容[技术信息[全部], 无修饰]。
'v' 命令列出存档文件的属性、大小、压缩后大小、压缩率、日期、时间、
校验和和名称,每个文件一行。如果文件被加密,行以 * 号开始。对于
BLAKE2sp 校验和仅有两个前面的和一个后面的符号被显示。
'vt' 以多行模式显示详细的文件信息。此信息包括文件校验和值、主机
OS、压缩选项和其他参数。
'vta' 不仅提供文件的详细信息,也给出服务器头,如 NTFS 流或文件安
全数据。
'vb' 列出单纯的带有路径的文件名,每行一个,没有任何其他信息。
你可以使用 -v 开关列出卷组中所有卷的内容: rar v -v vol.part1.rar
命令 'vt', 'vta' 和 'vb' 等同于 'lt', 'lta' 和 'lb'。
x 带绝对路径解压
例子:
1) 解压 10cents.txt 到当前目录,不显示压缩文件注释
rar x -c- dime 10cents.txt
2) 从 docs.rar 解压 *.txt 到 c:\docs 目录
rar x docs.rar *.txt c:\docs\
3) 解压 docs.rar 的完整内容当当前目录
rar x docs.rar
开关 (与命令结合使用):
-? 显示命令和开关的帮助。和没有参数或输入非法命令行选项时相同。
-- 停止开关扫描
这个开关告诉 RAR 命令行中没有更多的开关了。如果压缩文件或文件名
以 - 符号开头,可以使用它。没有'--'开关,这样的名字将被作为开关
对待。
例子:
从当前目录添加所有文件到固实压缩文件'-StrangeName'
RAR a -s -- -StrangeName
-@[+] 禁用 [启用] 文件列表
RAR 把“@”字符开始的命令行参数作为文件列表对待。因此在默认情况
下,RAR 在遇到“@文件名”参数时会尝试读取“文件名”文件列表。但
如果存在“@文件名”的文件,RAR 将参数作为“@文件名”文件,而不是
读取文件列表的文件。
开关 -@[+] 书允许定义如何处理“@”字符开始的参数,以避免这种歧义。
如果指定了 -@,所有此开关后的参数都将被视为文件名,而不是文件列表。
如果指定了 -@+,所有此开关后的参数都将被视为文件列表,而不是文件名。
此开关不会影响位于之前的参数。
例子:
测试压缩文件 '@home'
rar t -@ notes.rar @home
-ac 压缩或解压后清除存档属性(只有Windows版本可用).
如果在压缩时指定了此开关,成功压缩的文件的“存档”文件属性被清除。
当解压时,此开关会清除解压文件的“存档”属性。
-ad 附加压缩文件名到目标路径中。
这个选项可以在解压一组压缩文件时使用。默认条件下 RAR 把从压缩文
件中解压的文件放在同一目录下,但是这个开关使从每个压缩文件中解压
的文件都创建一个单独的目录。
例子:
rar x -ad *.rar data\
RAR 将每一个解压的文件在'data'下创建子目录。
-ag[格式]
使用当前的日期和时间生成压缩文件名。
当创建或处理压缩文件时附加当前日期字符串到压缩文件名上。用于每日
备份。
附加的字符串格式有几种可选的格式参数定义或使用"YYYYMMDDHHMMSS"。
字符串的格式可以包含下列字符:
Y - 年
M - 月
MMM - 使用文本字符串作为月名(Jan,Feb,等.)
W - 年的第几周 (每星期从星期一开始)
A - 星期几 (星期一 -1,星期日 - 7)
D - 月的第几天
E - 年的第几天
H - 小时
M - 分 (如果在小时后,被作为分钟对待)
I - 分 (不管小时的位置,都被作为分钟对待)
S - 秒
N - 压缩文件数。RAR 搜索要生成的名字的文件是否存在,如果发现
它已经存在,将递增一个压缩文件数字,直到生成一个唯一的名字。
'N' 格式化字符在创建卷时不被支持。
当执行如解压等非压缩操作时,RAR的选择前第一未使用名称的现
有压缩文件或如果没有这样的压缩文件存在则设置N为1。
上面列出的每个字符串仅表示添加到压缩文件名中的一个字符。例如,
使用 WW 表示 2 数字的星期或 YYYY 定义 4 数字的年。
如果在格式化字符串的第一个字符是'+',日期字符串和基本压缩文件名
位置交换,所以日期将在压缩文件名之前。
格式化字符串可以包含在 '{' 和 '}' 包含的可选字符。此文本插入到压
缩文件名中。
所有其它字符被不变地添加到文件名上。
如果你需要处理已经存在的压缩文件,小心使用 -ag 开关。依赖于以前
使用的 -ag 传送的格式化字符串和时间,生成的和现有的压缩文件名可
能不匹配。在这种情况下 RAR 会创建或打开一个新的压缩文件,而不是
处理现有文件。你可以使用 -log 开关写入生成的压缩文件名到一个文
件,然后从文件读取它再做进一步的处理。
例子:
1) 使用默认 YYYYMMDDHHMMSS 格式
rar a -ag backup
2) 使用 DD-MMM-YY 格式
rar t -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
-ao 添加带有存档属性的文件
(只有 Windows 版本可用).
例子:
添加C:上所有带有存档属性的文件到'f:backup',并清除文件存档属性
rar a -r -ac -ao f:backup c:\*.*
-ai 忽略文件属性。
当解压时实用此开关,RAR 不对解压的文件设置存储在压缩文件中的常
规文件属性。此开关保留由操作系统赋予新创建文件的属性。
在 Windows 中它影响存档、系统、隐藏和只读属性。在 Unix 中,用
户、组和其它文件属性。
-ap 压缩文件内部设置路径。当添加文件到压缩文件中时,路径被整合到文
件名中,解压时从文件名删除。
例如,如果你希望添加文件'readme.txt'到目录压缩文件'release'
的'DOCS\ENG'中,你可以运行:
rar a -apDOCS\ENG release readme.txt
或者解压'ENG'到当前目录中:
rar x -apDOCS release DOCS\ENG\*.*
-as 同步压缩文件内容
如果压缩时使用这个开关,这些在当前被添加文件列表中不存在的被压缩
文件将从压缩文件中删除。它对于使用这个开关和 -u(更新)组合同步一
个压缩文件和正在压缩目录的内容很便利。
例如,执行这个命令后:
rar a -u -as backup sources\*.cpp
压缩文件'backup.rar'将只包含目录'sources'中的*.cpp文件,所有其它
文件将被从压缩文件中删除。它和创建新的压缩文件很相像,但是有一个
重要的不同:如果最近备份之后没有文件被修改,这个操作比创建新的压
缩文件执行得快。
-cfg- 忽略配置文件和 RAR 环境变量。
-cl 转换文件名成小写字母。
-cu 转换文件名成大写字母。
-c- 禁止显示注释。
-df 压缩后删除文件
移动文件到压缩文件中。这个开关与命令'A'组合执行和命令'M'是同一动
作。
-dh 打开共享文件
允许处理有其它应用程序打开写的文件。
如果应用程序允许对文件的读取访问,这个开关有效。但是如果文件的访
问类型是私有,文件打开操作仍然会失败。
这个选项很危险,因为它允许压缩一个文件,而同时正被其它应用程序修
改,所以小心使用。
-dr 删除文件到回收站
压缩后删除文件并把它们放到回收站中。仅可用于 Windows 版本。
-ds 添加到一个固实压缩文件时不排序。
-dw 压缩操作后清除文件
压缩后清除文件。在删除文件数据前使用 0 字节文件覆盖它们, 防止恢
复删除的文件。
请注意,这种做法是为普通硬盘设计的,但可能无法覆盖固态磁盘上的原
始文件数据,因为 SSD 磨损平衡技术的结果和更复杂的数据地址。
-ed 不添加空目录
这个开关指出空目录不被存储到被创建的压缩文件中。当解压这样一个压
缩文件时, RAR 会基于他们内部的文件路径创建非空的目录。关于空目录
的信息丢失。非空目录除了名字外(访问权限, 流, 等。)其他所有属性全
部丢失, 所以只有在你不需要保留这样的信息时使用此开关。
如果 -ed 和 'm' 命令或 -df 开关一起被使用,RAR 将不能移除空的目录。
-ee 不处理扩展属性
禁止保存和修复扩展文件属性。只用于OS/2版本。
-en 不添加"压缩文件结束"块
不支持 RAR 5.0 压缩文件。
默认情况下,RAR 在新建或更新压缩文件时在结束时添加 "压缩文件结
束"块。它允许跳过像数字安全签名等扩展数据,但是在一些特定条件下
禁用这些功能可能有用。例如,如果在一个压缩文件通过不可靠的连接在
两个系统之间传递,并且同时发送者在它里面添加新文件时,它可能对确
认在传输过程中已经接收的部分不会被另一端所修改很重要。
这个开关不能用在分卷上,因为压缩文件结束块包含正确处理卷的重要信
息。
-ep 从名称中排除路径。包含此开关时,文件在加入压缩文件时不会包含路
径信息。这可能会有在压缩文件中存在数个相同名称的结果。
-ep1 从文件名中删除底层目录。不存储在命令行中输入的路径。
例子:
tmp 目录中的所有文件和目录都将被添加到压缩文件'test'中,但是被压
缩文件名路径不包含'tmp\'
rar a -ep1 -r test tmp\*
这等价于下列命令:
cd tmp
rar a -r ..\test
cd ..
-ep2 扩展路径成完全路径。压缩时存储文件的完全路径(除了盘符和根目录路
径).
-ep3 扩展路径为包含盘符的完全路径。
仅用于 Windows 版本。
压缩时如果使用此开关则保存和恢复包括盘符的完全的文件路径。磁盘分
隔符(冒号)被下划线字符替换。
如果你解压时使用 -ep3,它把下划线改回为冒号并且把文件解压到它们
原始的目录和磁盘中。如果用户也指定了目标路径,它会被忽略。
压缩和解压恢复它们原来的状态时提取,会把 UNC 路径从\\server\share
转换为__server\share。
此开关对于把数个磁盘备份到同一个压缩文件有帮助。例如,你可以运行:
rar a -ep3 -r backup.rar c:\ d:\ e:\
来创建备份并且:
rar x -ep3 backup.rar
来恢复它。
小心使用 -ep3 开关,只有你确认压缩文件不包含任何恶意文件。换句话
说,如果是你自己创建的压缩文件或你完全相信它的作者才使用它。此开
关允许覆盖在你的计算机上任何地方的任何文件,包括重要的系统文件和
通常仅用于备份和恢复的目的。
-e[+]<属性>
指定排除或包含掩码属性文件。
<属性> 是十进位,八进位(以 '0' 开头)或十六进位 (以 '0x' 开头)
的数字格式。
默认, 在 <属性>没有‘+’标记, 此开关定义排除掩码。如果对 <属性>
和文件属性按位进行 AND 逻辑运算的结果不为 0,则文件将不会被处理。
如果‘+’符号存在,它指定包含掩码。只有具有在掩码中指定的属性中
的至少一种的文件会被处理。
在 Windows 版本中也可以使用D、S、H、A代替数字掩码符号表示目录和
文件的系统,隐藏,存档和只读属性。给出的属性的顺序并不重要。
Unix 版本支持 D 和 V 符号来定义目录和设备属性。
允许在命令行中把 -e 和 -e+ 都指定。
示例:
1) 仅有文件夹名字而不包含它们的内容
rar a -r -e+d dirs
2) 不压缩系统和隐藏属性的文件:
rar a -esh files
-f 更新文件。可以在解压或创建压缩文件时使用。命令字符串"a -f"等价于
命令'f',你也可以和命令'm'或'mf'一起使用'-f' 。如果开关'-f'和命
令'x'或'e'一起使用,则只有旧文件能被从压缩文件中解压的新版本替换。
3) 不解压只读文件:
rar x -er files
-hp[p] 加密文件数据和头。
这个开关和 -p[p] 类似,但是开关 -p 只加密文件数据,而使文件名等
其它信息可见。这个开关加密所有包括文件数据、文件名、大小、属性、
注释和其它块等所有可感知压缩文件区域,所以它提供了更高的安全等
级。在压缩文件中使用-hp 加密,没有密码甚至不可能查看文件列表。
例子:
rar a -hpfGzq5yKw secret report.txt
将添加文件 report.txt 到加密的压缩文件secret.rar中,使用密码
'fGzq5yKw'
-ht[b|c]
选择文件校验和的哈希类型 [BLAKE2,CRC32]。
RAR 压缩文件的文件数据完整性由为每个存档文件计算和存储的校验和保
护。
默认情况下,WinRAR 使用 CRC32 函数来计算校验和。RAR 5.0 压缩文件
格式还允许选择 BLAKE2 哈希函数代替CRC32。
BLAKE2 哈希使用 -htb 开关,CRC32函数使用 -htc 开关。因为 CRC32
是默认的算法,所以只有在需要覆盖 WinRAR 配置中 -htb 模式时,你才
可能需要 -htc。
CRC32 输出是 32 位长。虽然 CRC32 属性适合检测大部分意外的数据错
误,它还没有可靠到可以验证文件数据。换句话说,如果两个文件有相同
的CRC32,它不保证文件内容是相同的。
BLAKE2sp 输出是 256 位。作为一个密码学可靠性的强大哈希函数,它几
乎可以保证如果两个文件如果有相同的 BLAKE2sp 值,则它们的内容是相
同的。BLAKE2sp 的错误检测能力也比较短的 CRC32 更可靠。
因为 BLAKE2sp 输出较长,-htb 开关生成的压缩文件也会略大。
如果压缩文件头没有加密 (无开关 -hp),对于加密 RAR 5.0 文件的文件
校验和被修改使用一种特殊的密码依赖算法,不可能基于校验和猜测文件
内容。不要期待这样的加密文件校验和匹配常规和 BLAKE2sp 和 CRC32 值。
此开关仅支持 RAR 5.0 压缩文件, 所以你需要和它一起使用 -ma 开关。
你可以使用‘vt’或‘lt’命令查看存档文件的校验和。
例子:
rar a -ma -htb lists.rar *.lst
使用 BLAKE2 作为文件校验和添加 *.lst 到 lists.rar。
-id[c,d,p,q]
禁用消息。
开关 -idc 禁用版权字符串。
开关 -idd 在操作结束禁止显示“完成”字符串。
开关 -idp 禁止百分比指示。
开关 -idq 打开安静模式, 仅错误消息和问题能被显示。
允许一次使用数个修饰,
如果开关 -idcdp 是正确的。
-ieml[.][地址]
使用 E-mail发送压缩文件。只有 Windows 版本可用。
附加一个使用添加命令创建或被更新的压缩文件到 E-mail 信息中。你需
要有 MAPI 兼容的E-mail客户端来使用这个开关(大部分现代的 E-mail
程序支持MAPI接口)。
你可以在开关中直接输入详细E-mail地址或留为空白。在以后可以由你的
E-mail 程序询问。可以指定用分号或逗号隔开的数个地址。
如果你添加一个'.'字母到 -ieml,成功附加到E-mail中后压缩文件会被
删除。如果创建多卷压缩文件使用这个开关,每一卷都附加单独的
E-mail 信息。
-ierr 发送所有消息到标准错误设备。
-ilog[文件名]
记录错误到文件中 (只有注册版本可用).
把错误信息写到 RAR 目录中的 rar.log 文件中。也可以在开关中指定其
它的日志文件名代替默认的 rar.log,例如,-ilogc:\log\backup.log。
如果指定的文件名不包含路径,日志文件将会使用下列默认创建:
把错误信息写到 RAR 目录中的 rar.log 文件中。如果选项 "名称" 参数
没有指定, 日志文件将会使用下列默认创建:
Unix: .rarlog 放在用户的 home 目录中;
Windows: rar.log 放在 %APPDATA%\WinRAR 目录中。
如果“名称”参数包含无路径的文件名, RAR 会在默认目录中使用上面指
定的名称创建日志文件。如果你想改变日志文件的位置, 需要在“名称”
参数中包含路径和文件名。
默认情况下,日志文件使用 UTF-8 小端字节序编码,可以使用 -sc<字符
集>g开关修改,如 -scag 使用原生单字节编码。
例如:
rar a -ilogc:\log\backup.log backup d:\docs
发生错误时会创建 c:\log\backup.log 日志文件。
-inul 禁止所有消息。
-ioff 在完成操作后关闭计算机。硬件必须支持断电功能。只有 Windows 版本
可用。
-isnd 允许声音。
-k 锁定压缩文件. 任何试图改变压缩文件的命令都会被忽略。
-kb 保留损坏的解压文件。
RAR 默认解压后删除校验和错误的文件。开关 -kb 指定校验和错误的文
件不会被删除。
-log[格式][=名称]
写入名称到日志文件。
此开关允许写入在压缩、解压、删除和列表命令中的压缩文件和文件名到
指定的文本文件。它的行为被 '格式' 字符串定义,可以包含下面一个或
多个字符:
A - 写入压缩文件名到日志文件。如果 RAR 创建或处理了卷,所有的卷
名称都被记录。
F - 写入处理的文件名到日志文件。它包含了添加到压缩文件中和从压缩
文件中解压、删除的文件或列出的压缩文件内的文件。
P - 如果指定名称的日志文件已经存在,则附加数据到现有文件后,而不
是创建一个新的。
U - 以 Unicode 格式写入文件。
如果 'A' 和 'F' 都被指定,则为 'A'。
'名称' 允许指定日志文件的名称。它必须用 '=' 字符和 '格式' 字符串
分隔。如果 '名称' 不存在,RAR 会使用默认的 rarinfo.log 文件名。
在同一命令行中允许指定多个 -log 开关。
此开关在你需要用 -ag 或 -v 开关在批处理脚本中处理创建的压缩文件时
特别有用。在使用适当的命令创建一个压缩文件,然后从 arcname.txt 读
取生成的 RAR 压缩文件名称时,你可以指定 -loga=arcname.txt。例如,
在 Windows 批处理文件中它可以是:set /p name= 设置压缩模式:
-m0 存储 添加到压缩文件时不压缩文件。
-m1 最快 使用最快方式(低压缩)
-m2 较快 使用快速压缩方式
-m3 标准 使用标准(默认)压缩方式
-m4 较好 使用较好压缩方式(较好压缩,但是慢)
-m5 最好 使用最大压缩方式(最好的压缩,但是最慢)
如果没有指定这个开关,RAR使用-m3方式(标准压缩)。
-ma[4|5]
指定压缩格式的版本。
默认 RAR 创建 RAR 4.x 格式。使用 -ma5 或 仅 -ma 创建 RAR 5.0 压缩
文件。在你需要覆盖保存在配置中的 -ma5 时使用 -ma4 强制 RAR 使用
RAR 4.x 格式。
此开关仅在创建新的压缩文件时有用,更新现有压缩文件时被忽略。
-mc<参数>
设置高级压缩参数。
这个开关主要是用于进行测试和试验,在真实环境中通常最好允许 RAR
自动选择最佳参数。请注意,不适当的使用这些开关可能导致非常严重执
行和压缩损失,所以只有在你清楚理解你所要做的时候使用它。
它有下列语法:
-mc[参数1][:参数2][模块][+ 或 -]
<模块>的位置是指示压缩算法的一个字符,它必须被设置。
它有下列值:
A - 声音压缩;
C - 真彩色(RGB)数据压缩;
D - 增值压缩;
E - 32-位 x86 Intel 可执行文件压缩;
I - 64-位 Intel Itanium 可执行文件压缩;
T - 文本压缩。
RAR 5.0 压缩文件格式仅支持 'D' 和 'E' 值。
在开关结尾的'+'标记应用选择的算法模块处理所有的数据,'-'完全禁用
该模块。如果没有指定标记,RAR 将基于数据和当前的压缩模式自动选择
模块。
开关 -mc- 禁止所有可选模块,只允许常规的压缩算法。
<参数1> 和 <参数2> 根据模块而决定的参数,其描述如下。
音频压缩,增值压缩:
<参数1> 是通道的字节数 (可以是1 - 31)。RAR 拆分多位声道成单位声
道,例如,两个16位音频声道可以被 RAR 看作每个宽一字节的四个声道。
<参数2> 被忽略。
32位 x86 Intel 可执行文件压缩,
64位 Intel Itanium 可执行文件压缩,
真彩(RGB)数据压缩:
<参数1> 和 <参数2> 被忽略。
文本压缩:
<参数1> 是 PPM 算法的次序+(可以是 2 - 63)。通常高的值会略微提高
多余数据的压缩率,但是必须有足够的内存来用于 PPM。在缺乏内存的条
件下结果可能相反。更高的规则值会减慢压缩和解压的速度。
<参数2>对于 PPM 可用的以兆字节位单位的内存 (1-128)。更高的值可以
提高压缩率,但是注意PPM压缩和解压使用的内存大小相等,所以创建一
个压缩文件时如果分配太多的内存,其他人在安装了比较少内存的机器上
解压它时可能出现问题。解压缩也可以使用虚拟内存,但是可能变得非常
慢。
例子:
1) 开关 -mc1a+ 强制使用对所有数据使用8位单声道声音压缩算法。
2) 开关 -mc10:40t+ 强制使用对所有数据使用文本压缩优化算法,设置压
缩次序到 10 并分配40 MB内存。
3) 开关 -mc12t 设置压缩次序到 12,设置文本压缩顺序为12,当使用文
本压缩时,让RAR决定何时使用它。
4) 开关 -mct- -mcd- 禁止文本和增值压缩。
-md[k,m,g]
选择字典大小。
这个可变大小的字典是被压缩算法使用的专用的内存区域。如果被压缩文
件的大小(或在一个固实压缩文件中的总文件大小)比压缩文件大许多,则
通常增加字典大小会增加压缩率,减慢压缩速度和增加内存需要。
对于 RAR 4.x 压缩格式,字典大小可以是: 64 KB, 128 KB, 256 KB,
512 KB, 1 MB, 2 MB, 4 MB。
对于 RAR 5.0 压缩格式,字典大小可以是: 128 KB, 256 KB, 512 KB,
1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB,
512 MB, 1 GB。
你可以附加 'k', 'm' 和 'g' 后缀指定大小单位是 KB,MB 和 GB, 例如,
-md64m 指 64MB 字典。如果后缀不存在,默认是 MB,所以 -md64m 等于
-md64。
在压缩时 RAR 需要大约 6 倍于指定字典大小的内存。因此 512 MB 和
1 GB 大小的字典仅在 64 位的 RAR 版本中可用。解压时,分配略多于一
个字典大小的内存,所以 32 位和 64 位版本可以解压所有字典大小的压
缩文件,包括1 GB。
如果字典比原数据大,RAR可以减少字典大小。它可以减少内存的需要而不
会减小压缩比。
RAR 4.x 的默认可变字典大小是 4 MB。RAR 5.0 压缩格式是 32 MB。
例子:
RAR a -s -ma -md128 lib *.dll
以 128 MB 字典创建 RAR 5.0 格式固实压缩文件。
-ms[列表]
指定存储文件类型。
指定不压缩而直接存贮的文件类型。这个开关被用来存储已经压缩的文件,
这将帮助增加压缩速度,而不会显著的减小压缩率。
可选参数 <列表> 参数定义使用分号隔开的文件扩展名列表。例如,
-msrar;zip;jpg 将强制RAR不压缩直接存储所有的RAR和ZIP压缩文件和
JPG 图像。它也允许在列表中指定通配符文件掩码,所以 -ms*.rar;
*.zip;*.jpg 也可以工作。允许使用多个 -ms 开关,如 -msrar -mszip
替代 -msrar;zip.
Unix 中包含多个文件类型的 -ms 开关需要括在引号中。可以保护 Unix
shell 中分号的处理。另一个解决方案是对每个文件类型使用单独的
-ms<类型> 开关。
如果 <列表> 没有被指定,-ms 开关将使用默认的包含下列文件类型的扩
展设置:
7z, ace, arj, bz2, cab, gz, jpeg, jpg, lha, lzh, mp3,
rar, taz, tgz, xz, z, zip
-mt<线程>
设置线程数。仅可用于 Window 版本。
<线程> 参数可以是从 0 到 16 的值。它定义对于压缩算法活动线程的
推荐数。如果它大于 0,RAR 会使用多线程版本的压缩算法,在多处理
器系统上提供更高的速度。真实的活动线程数可能和指定的不同。
如果 <线程> 是 0,RAR 会使用单线程压缩算法。
改变 <线程> 参数轻微影响压缩率,所以如果所有其它压缩参数相等而
使用不同的 -mt 开关创建的压缩文件不会解压得一样连贯。
如果没有指定 -mt 开关,RAR 会尝试检测可用的处理器的数量并自动
选择优化的线程数。
-n 附加过滤器包含文件
应用掩码为一个附加的过滤器来包含文件列表。通配符在文件掩码的名称
和文件部分都可用。你可以数次指定开关‘-n’。
此关不能替换通常的文件掩码,仍然需要在命令行中输入。它是一个附加
的过滤器限制处理的文件那些仅匹配在 –n 开关中指定掩码的文件。某些
时候它可以帮助减少命令行的长度。
例如,如果你需要压缩在 Project 和 Info 文件夹内的所有的 *.txt 和
*.lst 文件,你可以输入:
rar a -r text Project\*.txt Project\*.lst Info\*.txt Info\*.lst
或使用开关 -n:
rar a -r -n*.txt -n*.lst text Project Info
-n@<列表文件>
从列表文件读取附加过滤器掩码。
和 -n<文件> 开关类似,但是从列表文件读取过滤器掩码。如果你使用无
列表名参数的 -n@,它会从标准输入设备读取过滤器掩码
示例:
rar a -r -n@inclist.txt text Project Info
-oc 设置 NTFS 压缩属性。只可用于 Windows 版本。
此开关允许解压文件时恢复 NTFS 压缩属性。RAR 在创建一个压缩文件时
保存“压缩”文件属性,但是如果不指定 -oc 开关就不会恢复它们。
-oh 把硬链接作为链接而不是文件。
如果压缩中的文件包含数个 NTFS 硬链接,会把首个硬链接作为普通文件
存储,同组中剩下的硬链接作为首文件的链接存储。在解压这些文件的时
候,WinARR 会创建硬链接,而不是普通文件。
你一定不要在创建压缩文件后删除或重命名压缩文件中首个硬链接,因为
这导致不可能解压下面的链接。如果你修改首个链接,解压后下面链接的
内容也会被修改。解压命令要成功创建下面的硬链接必须涉及首硬链接。
此开关仅被 RAR 5.0 格式支持,所以你需要使用 -ma 开关来使用它。
-oi[0-4][:<最小大小>]
把相同文件保存为引用。
开关 -oi0 (或仅 -oi-) 关闭相同文件处理,这样这些文件会被作为普通
文件压缩。可以被用来覆盖存储在 RAR 配置中的其它 -oi 值。
如果指定了 -oi1 (或仅 -oi),在启动压缩之前 WinRAR 会分析文件的内
容。如果找到几个相同的文件,组中的第一个文件作为普通文件保存,所
有剩下的文件保存为第一个文件的引用。这可以减少压缩文件的大小,但
对生成的压缩文件有一些限制。压缩文件创建后,你一定不要删除或重命
名文件压缩文件中的第一个相同文件,因为这会使后面的文件使用它作参
考的文件不能解压。如果你修改了第一个文件,后面的文件的内容在解压
后也会被修改。解压命令要成功创建后面的文件必须涉及到第一个文件。
如果你要压缩很多相同的文件,并且以后不会修改压缩文件,解压时解压
整个压缩文件,没有必要解压缩或跳过单个文件,推荐使用 -oi。如果所
有相同的文件小到足以匹配压缩字典,则指定 -md 开关、-s 开关可以
提供比 -oi 更灵活的解决方案。
开关 -oi2 和 -oi1 类似,仅有的区别是:在开始压缩之前会显示找到的
相同文件的名字。
开关 -oi3 和 -oi4 允许利用 RAR 生成相同文件的列表。尽管你还需要提
供一个虚拟的压缩文件名使命令的语法有效。在这种模式下压缩文件不会
被创建也没有任何内容被压缩。如果使用 -oi3,会显示文件大小和名称,
每一个相同的文件组用空行分隔。开关 -oi4 显示单纯的文件名并跳过相
同文件组的第一个文件,所以仅列出重复的。
可选的 <最小大小> 值允许定义最小文件大小的阈值。小于 <最小大小>
的文件不被分析看作是不同的。如果这个参数不存在,默认值是 64 KB。
选择太小 <最小大小> 可能增加检测相同的文件所需的时间。
开关 -oi1 和 -oi2 仅被 RAR 5.0 格式支持。所以你需要和 -ma 开关一
起使用。
例子:
1) rar a -oi -ma archive
把当前目录中的内容保存到 archive.rar。把相同文件保存为引用。
2) rar a -oi3:1000000 -r dummy c:\photo\*.jpg
列出 c:\photo 和它的子目录中找到的所有超过 1000000 字节大小重复的
*.jpg 文件。
-ol 把符号链接作为链接而不是文件。
把符号链接保存为链接,所以文件内容没有被存档。在 Windows 版本中它
也把分析点保存为链接。这些文档项目在解压时被恢复为符号链接或分析点。
Unix 中 RAR 4.x 和 RAR 5.0 都支持,Windows 中仅 RAR 5.0 支持。
Windows 中,解压时你需要管理员权限创建符号链接。
-or 如果相同名字的文件已经存在则自动重命名解压的文件。重命名文件将得
到象 'filename(N).txt' 的名字,'filename.txt' 的位置是原始的文件
名,如果文件存在 'N' 是从 1 增加数字。
-os 保存 NTFS 流。 只有 Win32 版本可用。
这个开关意味着只能在 NTFS 文件系统下使用,并允许储存与文件相关的
交替数据流。在 Windows 2000、XP 和更新的 Windows 版本底下尤其重要,
可以用来保存某些文件依赖信息,如文件描述。如果您使用 RAR 来备份您
的 NTFS 磁盘时,建议您指定这个开关。
-ow 当压缩时保存文件安全信息和解压时恢复它们时,使用这个开关。
Unix 版本的 RAR 当使用这个开关时保存文件所有者和组。
Windows 版本存储所有者、组、文件许可和校验信息,但是你必须有读取
它们的必需的权限。 注意只有 NTFS 文件系统支持在Windows下的文件基
本安全数据。
-o[+|-] 设置覆盖模式。可以在解压或更新文件时使用。下列模式可用:
-o 覆盖前询问
(默认用于解压文件);
-o+ 覆盖所有
(默认用于更新的压缩文件);
-o- 跳过已存在的文件。
-o+ 覆盖已存在的文件。
-o- 不覆盖已存在的文件。
-p[p] 压缩时,使用字符串作为密码加密文件。密码大小写敏感。如果你在
命令行忽略密码,你会看到一个输入密码的提示。
例子:
rar a -pmyhoney secret1 *.txt
添加 *.txt文件并用密码"myhoney"加密.
-p- 不询问密码
解压加密文件时不询问密码。其实你可以在解压一个加密文件时指定任意
无效的密码来抑制密码提示并强迫 RAR 发出的“密码错误”的消息。此
开关就是设置‘-’作为密码。
-qo[-|+]
添加快速打开信息 [无|强制]
RAR 压缩文件在描述的每个文件的数据前存储包含如文件名称、时间、大
小和属性的信息的文件头。这种方法比把所有文件头储存在一个连续的块
中更能防止损坏,后者如果损坏或丢失会摧毁整个压缩文件的内容。但在
更可靠的同时,这些文件头散布于整个压缩文件,如果我们需要在类似
WinRAR 图形界面的外壳中快速打开压缩文件的内容时的访问速度太慢。
要提高压缩文件的打开速度,而且要整个压缩文件不依赖于单一易受损块,
RAR 5.0 压缩文件可以包含一个可选的快速打开的记录。这些记录被添加
到压缩文件的结尾,包含附加在压缩文件内的普通文件头的文件名和其它
文件信息的副本被存储在一个单一的连续块中。因为块是连续的,所以其
内容可以被快速读取,而不需要执行大量的磁盘寻道操作。此块中每一个
文件头都被校验和保护。如果 WinRAR 检测到快速打开信息被破坏,它会
从压缩文件内重新读取这部分的头信息,所以防伤害性能没有被减弱。
快速打开记录包含文件头的完整副本,这可能是数十或数百个字节/文件,
会把压缩文件的大小增加相同的量。当文件数据大小与文件头差不多大时,
对于许多小文件,大小的增加是很明显的。所以在默认情况下,如果没有
指定 -qo 或 -qo 没有使用参数,WinRAR 只对相对大的文件存储头副本,
对小文件继续使用本地头。具体的文件大小阈值依赖解 WinRAR 的版本。
这种方法提供了一个在打开速度和压缩文件大小之间的合理折衷。如果你
想要最大的压缩文件打开速度,而不管大小,您可以使用 -qo+ 存储所有
文件头的副本。如果你需要尽可能小的压缩文件,而不关心压缩文件在不
同的程序中打开的速度,指定 -qo- 完全排除快速打开信息。
如果你想测试此开关的性能效果,确保压缩文件的内容没有存储在磁盘的
缓存中。对于缓存的压缩文件没有进行真正的磁盘搜索,这使访问没有快
速打开记录的文件头也很快。
-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: 根目录的内容并不会包含子目录。
-r0 和 -r 相似,但是当使用命令 'a','u','f','m',将仅对包括通配符
'*' 和 '?' 的文件掩码递归子目录。
此开关仅用于文件名。没有文件名部分的目录名,如 'dirname',不受 -r0
影响,如果没有指定 -r- 开关,它们的内容被完全添加到压缩文件中。
例子:
rar a -r0 docs.rar *.doc readme.txt
从当前目录和它的子目录添加 *.doc 和仅当前文件夹中的 readme.txt 文件
到 docs.rar 压缩文件。在使用 -r 开关的情况下,RAR 会从子目录中搜索
readme.txt。
-ri
[:]
设置优先级和休眠时间。只有在 Windows 版本的 RAR 中可用。
这个开关让 RAR 在多任务环境下时,用来控制系统载入负荷。可用任务
优先级值从 0 到 15。当
等于 0 时,使用默认任务优先级。1 对应
最低的任务优先权,15 - 最高。
休眠时间 是从 0 到 1000 (千分之一秒)的值。这是 RAR 压缩或解
压缩操作期间每次读或写时将会归还到系统的时段。休眠时间设定在几个
相同优先级任务在系统中同时运行时有用。
例子:
使用默认优先级执行 RAR,并且每次读取或写入后有10 ms的休眠
rar a -r -sfx -ri0:10 backup *.*
-rr[N] 添加数据恢复记录。这个开关在创建或修改压缩文件被用来添加压缩文件
数据的恢复记录。
-rv[N] 创建恢复卷。这个开关在创建多卷压缩文件时用来创建恢复卷。查看
'rv[N]'命令的详细描述。
-s 创建固实压缩文件。固实格式是一种特别的压缩包。它把压缩文件内数个
或所有文件作为一个连续的数据流对待。
当添加大量小文件或类似的文件时,固实压缩的压缩率会显着增加。但它
也有几个重要的缺点:更新现有固实压缩文件速度慢,个别文件的读取速
度较慢,降低损坏恢复可能。
通常固实文件内的文件按扩展名排序,但是可以使用 -ds 开关禁用排序
或使用一个特殊文件, rarfiles.lst 来定义文件顺序。
例子:
使用512KB的字典创建固实压缩文件 sources.rar ,包含全部子目录,从
当前目录开始,只添加.asm文件:
rar a -s -md512 sources.rar *.asm -r
-s 根据文件计数创建固实组
和 -s 相似,但是在压缩文件后重置压缩文件的状态。通常减少压缩率,
但是也能减少损坏的固实压缩文件中的文件丢失。
-sc<字符集>[对象]
指定列表文件、日志文件和压缩包注释文件的字符集。