用户手册
~~~~~~~~
RAR 7.10 控制台版本
~~~~~~~~~~~~~~~~~~~
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
欢迎使用 RAR 压缩文件管理器!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
简介
~~~~
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 和 UnRAR 从用户的 home 或 /etc 目录中的 .rarrc 文件读取配置文件信息
(存储在 HOME 环境变量中)
Windows 的版本 RAR 和 UnRAR 从 rar.ini 文件读取配置文件信息,它放在 rar.exe 文件相
同的目录中。
这个文件包含下列字符串:
switches=<任何 RAR 参数,用空格分开>
例如:
switches=-m5 -s
也可能为个别 RAR 命令指定单独的参数集,使用以下句法:
switches_<command>=<任何 RAR 参数,用空格分开>
例如:
switches_a=-m5 -s
switches_x=-o+
环境变量
~~~~~~~~
可以通过建立RARINISWITCHES"环境变量来添加默认参数到命令行中.
例如,在 Unix 系统中,下列命令行可以被添加到您的配置中:
RARINISWITCHES='-s -md1024'
export RARINISWITCHES
RAR 将使用这个字符串作为命令行的默认参数,并将使用 1024 MB 字典大小来创建
“固实”压缩文件。
RAR 控制选项使用下列优先级:
命名行参数 最高优先级
在 RARINISWITCHES 变量中的参数 低优先级
保存在配置文件中的参数 最低优先级
日志文件
~~~~~~~~
如果在命令行或配置文件中指定参数 -ilog ,RAR 将会把处理压缩文件中遇到的错误
等写到日志文件中。读取参数 -ilog 描述获得更多信息。
固实压缩的文件列表 - rarfiles.lst
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rarfiles.lst 包含一个用户定义的文件列表,告诉 RAR 添加文件到固实压缩文件时的顺
序。它可以包含文件名通配符和指定项目 -$default。默认项目定义了这个文件中与
其他项目不相符时的顺序清单位置。 注释字符是 ';'.
在 Windows 中,这个文件应该放在 RAR 所在的或 %APPDATA%\WinRAR 目录中,
在 Unix 系统中- 放在用户的 home 目录或在 /etc 中。
提高压缩率和操作速度的提示:
- 在压缩文件中,小文件应该被组织在一起;
- 频繁被处理的文件应该放在开始的位置。
普通的掩码越靠近顶端优先权就越高,但是这个规则存在例外。如果 rarfiles.lst
包含两个掩码,并且所有文件既匹配第一个掩码,也匹配第二个掩码, 较小的子集
或者更精确的匹配拥有更高的优先权。例如,如果您用 *.cpp 和 f*.cpp 掩码,
f*.cpp 拥有更高的优先权,因此 'filename.cpp' 的位置会根据 'f*.cpp' 而不是
'*.cpp' 来选择。
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 将默认是 *.*,来处理所有文件。
path_to_extract 包含目标目录名称,后跟一个路径分隔符。例如,它在 Windows
中为 c:\dest\,在 Unix 系统中为 data/。它指定在 x 和 e 命令中放置解压文件的
目录。如果该目录不存在,则由 RAR 进行创建。此外还可以使用 -op<path> 参数
对其进行设置。
许多 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 添加压缩文件注释。当压缩文件被处理时注释被显示。文件的注释长度限
制为 256 KB。
例子:
rar c distrib.rar
注释也可以使用 -z[名称] 参数从文件添加:
下列命令从 info.txt 文件添加一个注释:
rar c -zinfo.txt dummy
ch 改变压缩文件参数。
此命令能和大多数压缩文件变量参数一起使用修改压缩文件参数。对于象
-cl, -cu, -tl 等没有专门命令的参数特别方便。
它不能重新压缩、解密或加密压缩文件数据,它不能整合或创建卷。如果
不和其它参数一起使用,'ch' 命令仅复制压缩文件数据而不修改它。
如果结合 -amr 参数一起使用来恢复已保存的归档名称和时间,将忽视其
他归档修改参数。
例如:
设置压缩文件时间为最新的文件:
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、UTF-8、UTF-16 和 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:\texts\*.rar
在 e:\text 目录下的 rar 压缩文件中搜索十六进制字符串
f0 e0 ae ae ab 2d 83 e3 a9。
k 锁定归档。
RAR 无法修改锁定的归档,因此锁定重要的归档可防止 RAR
意外修改它们。尤其在 RAR 命令分组处理归档时,这种保护
可能特别有用。
此命令不旨在或不能阻止其他工具或第三方有意进行修改。
它仅针对 WinRAR 引起的意外数据变更实行安全措施。
例子:
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 打印文件到标准输出设备。
将解压缩的文件数据发送到标准输出。此命令会抑制信息性消息,因此它
们不会与文件数据混合。
r 修复压缩文件。压缩文件修复是在两阶段中完成的。首先,在损坏的压缩
文件中查找恢复记录(参照'rr'命令)。如果压缩文件包含以前添加的恢复
记录,并且如果损坏的数据恢复区域是连续并且小于恢复记录的纠错码大
小,则重建压缩文件成功的几率很高。当这个阶段完成,一个名为
fixed.arcname.rar 的新压缩文件会被创建,'arcname' 的位置是原始的
(损坏的)压缩文件名。
如果损坏的压缩文件不包含恢复记录或如果压缩文件没有完全恢复导致大
的损伤,将执行第二阶段。这一阶段期间只重建压缩文件的结构,而不可
能恢复校验失败的文件。它仍然可能恢复未受损的文件,因文件结构破坏。
这对于非固实压缩文件通常有用。此阶段不会影响加密文件头的压缩文件,
这样的文件只有在存在恢复记录时才能被修复。
当第二阶段完成,重建结构的压缩文件被保存为 rebuilt.arcname.rar,
'arcname' 的位置是原始压缩文件名。
默认情况下,修复的压缩文件创建到当前目录中,但是您可以添加一个可选
的 destpath\ 参数指定其他目标目录。
例子:
rar r buggy.rar c:\fixed\
修复 buggy.rar 并把结果放到 'c:\fixed' 目录中。
rc 使用恢复卷(.rev 文件)重建丢失的卷。您需要指定任何已存在的 .rar 或
.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] 添加数据恢复记录。
恢复记录是数据区域,被选择性地添加到压缩文件并包含纠错码,即
RAR 5.0 压缩文件格式的 Reed-Solomon 代码。虽然它增加了压缩文件
的大小,但它有助于在磁盘故障或发生其他类型的数据丢失的情况下恢
复压缩文件,不过前提是损坏不是太严重。这样的恢复可以用“R”修
复命令来完成。
可选的'N'参数将恢复记录大小定义为压缩文件大小的百分比。如果将
其省略,则假定为 3%。允许的最大恢复记录的大小为 1000%。较大的
恢复记录在创建和修复时的处理速度较慢。由于服务数据的使用,实际
生成的恢复记录大小仅与用户定义的百分比近似匹配,对于较小的压缩
文件,差异较大。
在单次连续损坏的情况下,通常可以恢复比恢复记录大小略少的数据。
对于多次损坏,可恢复的数据大小会更少。
如果恢复记录被部分破坏,其剩余的有效数据仍然可以用来修复文件。
Repair 命令不会修复恢复记录本身中的损坏块,只会更正文件数据。
成功修复压缩文件后,您可能需要为获救文件创建新的恢复记录。
虽然恢复记录提高了修复损坏压缩文件的机会,但它并不能保证成功恢复。
因此要考虑将恢复记录功能与为重要数据制作多个归档副本,并保存到不同
媒体的方式相结合。
例子:
rar rr5 arcname
添加压缩文件大小 5% 的恢复记录。
rv[N] 创建恢复卷(.rev文件),以后它可以用于重建卷组中丢失的文件。这个命
令只对多卷压缩文件敏感,您需要在组中指定第一个分卷文件的文件名。
例如:
rar rv3 data.part01.rar
这个功能可以被用来备份,例如,发送一个多卷压缩文件到一个新组,并
且部分接收者没有收其中的一些文件。重新发送恢复卷代替普通卷,可以
减少传送文件的总数。
每个恢复卷可以重建一个丢失的 RAR 卷。例如,如果您有30个卷,3个恢
复卷,您可以创建任何3个丢失的卷。如果.rev文件的数目少于丢失卷的
数目,重建将不可能。对于普通和恢复卷的总数,不能超过 65535。
原来的 RAR 卷在卷被创建后不能被修改。修复算法使用存储在 REV 文件
和 RAR 卷中的数据来重建丢失的 RAR 卷。所有如果您修改了 RAR 卷,
例如,在创建 REV 文件后锁定它们,修复操作将失败。
除了恢复数据,RAR 5.0 恢复卷文件也存储了类似于文件校验和的服务信
息来保护 RAR 文件。所以它们比它们要保护的 RAR 卷要稍大。所以如果
您要把 RAR 和 REV 文件单独复制的移动媒介中,您需要把它考虑在内并
指定 RAR 卷的大小比媒介的大小少几 K 字节。
可选的 <N> 参数指定要创建的恢复卷的数目。它必须少于 RAR 4.x 集合
中 RAR 卷的总数,而且不得超过 RAR 卷数的 10 倍。将自动调整超过此
阈值的值。
您也可以附加一个百分号或“p”字符到这个参数上,这样创建的 .rev
文件的数目将等于从 RAR 卷总数获得的这个百分比。例如:
rar rv15% data.part01.rar
如果忽略 <N> 参数,则将其设置成 10%。
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 下。
Windows 版本为 32 位的 SFX 模块使用 default32.sfx 名称。
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版本)。
如果在压缩时指定了此参数,成功压缩的文件的“存档”文件属性被清除。
当解压时,-ac 会清除解压文件的“存档”属性。此参数不影响目录属性。
-ad[1,2] 备选目标路径
这个选项在解压一组压缩文件时可能很有用。
参数 -ad 和 -ad1 为从每个归档文件解压的文件创建一个单独的目录。这些
单独的目录将在 -ad 的目标目录中创建,以及在 -ad1 的每个归档目录中创建。
参数 -ad2 将解压的文件直接放置到每个归档的目录中。不会创建单独的目录。
-ad1 和 -ad2 参数将忽略目标目录参数。
例子:
1) rar x -ad *.rar data\
RAR 将每一个解压的文件在'data'下创建子目录。
2) rar x -r -ad1 arc\*.rar
WinRAR 将会递归扫描 'arc' 文件夹搜索 *.rar 压缩文件,并在每
个压缩文件文件夹里创建子文件夹。
-ag[格式]
使用当前的日期和时间生成压缩文件名。
当创建或处理压缩文件时附加当前日期字符串到压缩文件名上。用于每日
备份。
附加的字符串格式有几种可选的格式参数定义或使用"YYYYMMDDHHMMSS"。
字符串的格式可以包含下列字符:
Y - 年
M - 月
MMM - 使用文本字符串作为月名(Jan,Feb,等.)
W - 年的第几周 (每星期从星期一开始)
A - 星期几 (星期一为 1,星期日为 7)
D - 月的第几天
E - 年的第几天
H - 小时
M - 分 (将小时后的前两个“M”视为分钟)
I - 分 (不管小时的位置,都被作为分钟对待)
S - 秒
N - 压缩文件数。RAR 搜索要生成的名字的文件是否存在,如果发现
它已经存在,将递增一个压缩文件数字,直到生成一个唯一的名字。
'N' 格式化字符在创建卷时不被支持。
当执行如解压等非压缩操作时,RAR的选择前第一未使用名称的现
有压缩文件或如果没有这样的压缩文件存在则设置N为1。
上面列出的每个字符串仅表示添加到压缩文件名中的一个字符。例如,
使用 WW 表示 2 位数的星期或 YYYY 定义 4 位数的年。
如果在格式化字符串的第一个字符是'+',日期字符串和基本压缩文件名
位置交换,所以日期将在压缩文件名之前。
如果格式字符串中的第一个字符为“F”,则字符串的其余部分为 -ag
参数指定默认的格式字符串。只有被放置到 rar.ini 配置文件或
RARINISWITCHES 环境变量时,此类 -agf<default_format> 参数才具有实用值。
例如,如果我们将 RARINISWITCHES 环境变量设置为 -agfYYYY-MMM-DD,我们
可以使用 -ag,而不使用假定为 YYYY-MMM-DD 格式字符串的参数。
格式化字符串可以包含在 '{' 和 '}' 包含的可选字符。此文本插入到压
缩文件名中。
所有其它字符被不变地添加到文件名上。
如果您需要处理已经存在的压缩文件,小心使用 -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
-ai 忽略文件属性。
当解压时实用此参数,RAR 不对解压的文件设置存储在压缩文件中的常
规文件属性。此参数保留由操作系统赋予新创建文件的属性。
在 Windows 中它影响存档、系统、隐藏和只读属性。在 Unix 系统中,用
户、组和其它文件属性。
-am[s,r]
归档名称和时间 [保存, 恢复]
-ams 参数保留归档的元数据,其中包括原始的归档名称和创建时间。
它可以与归档修改命令一起使用,例如“a”或“ch”。
保存的元数据显示在“l”和“v”归档列表命令的标题中。
如果和 -tk 或 -tl 参数一起使用,-ams 会保存由这些参数设置的归档
修改时间。
-amr 参数将归档重命名为保存的名称。它还将存储时间设置为 Windows
中的归档创建和修改时间,以及 Unix 系统中的归档修改时间。
它只能与“ch”命令一起使用,如果指定了 -amr,它将忽略所有其他归档修改参数。
会将没有“s”和“r”修饰符的 -am 参数视为 -ams。
示例:
1) 创建 files.rar 并保存其元数据
rar a -am files.rar
2) 恢复 myfiles.rar 的原始名称
rar ch -amr myfiles.rar
-ao 添加带有 "存档" 属性的文件
(仅 Windows 版本)。
如果存档时使用了 -ao,仅会添加带有 "存档" 属性的文件到该压缩文件。
该参数不影响目录,因此所有匹配的目录都会添加而无论其属性。
您还可以指定 -ed 参数,如果您希望忽略所有目录记录。
例子:
添加磁盘C:上所有带有 "存档" 属性的文件到'f:backup',并清除所有
文件的 "存档" 属性
rar a -r -ac -ao f:backup c:\*.*
-ap<path>
设置压缩文件内部的路径。当添加文件到压缩文件中时,路径被整合到文
件名中,解压时从文件名删除。
例如,如果您希望添加文件'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 将不能移除空的目录。
-ep 从名称中排除路径。包含此参数时,文件在加入压缩文件时不会包含路
径信息。这可能会有在压缩文件中存在数个相同名称的结果。
如果用于解压缩时,会为解压的文件忽略压缩的路径,以便所有文件都在 同一个目标目录下创建。
-ep1 从文件名中排除底层目录。不要存储或解压在命令行中输入的路径。如果 路径包含通配符则忽略此参数。
例子:
1) tmp 目录中的所有文件和目录都将被添加到压缩文件'test'中,但是被 压缩文件名路径不包含'tmp\'
rar a -ep1 -r test tmp\*
这等价于下列命令:
cd tmp
rar a -r ..\test
cd ..
2) 解压文件并匹配 images\* 掩码到 dest\ 目录,
但从已创建文件的路径里删除 'images\':
rar x -ep1 data images\* dest\
-ep2 扩展路径成完全路径。压缩时存储文件的完全路径(除了盘符和根目录路
径).
-ep3 扩展路径为包含盘符的完全路径。
仅用于 Windows 版本。
压缩时如果使用此参数则保存和恢复包括盘符的完全的文件路径。磁盘分
隔符(冒号)被下划线字符替换。
如果您解压时使用 -ep3,它把下划线改回为冒号并且把文件解压到它们
原始的目录和磁盘中。如果用户也指定了目标路径,它会被忽略。
压缩和解压恢复它们原来的状态时提取,会把 UNC 路径从\\server\share
转换为__server\share。
此参数对于把数个磁盘备份到同一个压缩文件有帮助。例如,您可以运行:
rar a -ep3 -r backup.rar c:\ d:\ e:\
来创建备份并且:
rar x -ep3 backup.rar
来恢复它。
小心使用 -ep3 参数,只有您确认压缩文件不包含任何恶意文件。换句话
说,如果是您自己创建的压缩文件或您完全相信它的作者才使用它。此开
关允许覆盖在您的计算机上任何地方的任何文件,包括重要的系统文件和
通常仅用于备份和恢复的目的。
-ep4<path>
排除名称中的路径前缀。
如果在归档时使用此参数,则如果指定路径位于此类名称的开头但与整个
名称不匹配,则该路径将从归档名称中排除。将与已准备好存储在压缩文
件中的名称进行比较,并删除驱动器号和前导路径分隔符。
例如:
rar a -ep4texts\books archive c:\texts\books\technical
删除已归档名称中的“text\books”。由于将与保存在压缩文件中的名称
进行比较,我们不能使用 -ep4c:\texts\books。
如果在解压时使用此参数,其工作方式与 -ap<path> 参数类似。如果在已
归档文件名的开头存在路径,则将其删除。例如:
rar x -ep4texts\books archive
删除已归档路径开头的“texts\books”。
-e[+]<属性>
指定排除或包含掩码属性文件。
<属性> 是十进位,八进位(以 '0' 开头)或十六进位 (以 '0x' 开头)
的数字格式。
默认, 在 <属性>没有‘+’标记, 此参数定义排除掩码。如果对 <属性>
和文件属性按位进行 AND 逻辑运算的结果不为 0,则文件将不会被处理。
如果‘+’符号存在,它指定包含掩码。只有具有在掩码中指定的属性中
的至少一种的文件会被处理。
在 Windows 版本中也可以使用D、S、H、A代替数字掩码符号表示目录和
文件的系统,隐藏,存档和只读属性。给出的属性的顺序并不重要。
Unix 版本支持 D 和 V 符号来定义目录和设备属性。
允许在命令行中把 -e<atr> 和 -e+<atr> 都指定。
示例:
1) 仅有文件夹名字而不包含它们的内容
rar a -r -e+d dirs
2) 不压缩系统和隐藏属性的文件:
rar a -esh files
3) 不解压只读文件:
rar x -er files
-f 更新文件。可以在解压或创建压缩文件时使用。命令字符串"a -f"等价于
命令'f',您也可以和命令'm'或'mf'一起使用'-f' 。如果参数'-f'和命
令'x'或'e'一起使用,则只有旧文件能被从压缩文件中解压的新版本替换。
-hp[p] 加密文件数据和头。
这个参数和 -p[pwd] 类似,但是参数 -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 压缩文件。
您可以使用‘vt’或‘lt’命令查看存档文件的校验和。
例子:
rar a -htb lists.rar *.lst
使用 BLAKE2 作为文件校验和添加 *.lst 到 lists.rar。
-id[c,d,n,p,q]
显示或禁用消息。
参数 -idc 禁用版权字符串。
参数 -idd 在操作结束禁止显示“完成”字符串。
参数 -idn 在创建、测试或提取压缩文件时,禁用已归档
的名称输出。它在将文件解压到不存在的目录时,会禁用
目录创建消息。它也会影响其他一些归档处理命令。它不会
隐藏其他消息和总百分比指示器。-idn 可能会产生较小的
视觉瑕疵,例如百分比指示器覆盖错误消息的最后几个字符。
参数 -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-16 小端字节序编码,可以使用 -sc<字符
集>g参数修改,如 -scag 使用原生单字节编码。
例如:
rar a -ilogc:\log\backup.log backup d:\docs
发生错误时会创建 c:\log\backup.log 日志文件。
-inul 禁止所有消息。
-ioff[n]
在完成操作后关闭计算机。使用-ioff 或 -ioff1来关闭PC电源,-ioff2 来
休眠,-ioff3 来睡眠,以及 -ioff4 来重启。操作系统必须支持相应的电
源管理功能。如果使用此参数启动了多个 RAR 副本,则会由最后结束的一
份来关闭 PC。只有 Windows 版本可用。
-isnd[-]
控制通知的声音。
使用 -isnd 来启用通知的声音,使用 -isnd- 来禁用它们。
-iver 显示版本号并退出。您可以仅运行 "RAR -iver"。
-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=<arcname.txt。
例子:
1) 写入创建的卷的名字到 vollist.txt:
rar a -v100m -loga=vollist.txt volume.rar c:\data
2) 以 Unicode 格式写入生成的压缩文件名到 backup.txt:
rar a -ag -logau=backup.txt backup.rar myfiles\*
3) 写入测试过的卷的名字到 vollist.txt 和测试的卷内的压缩文件名到
filelist.txt:
rar t -log=vollist.txt -logf=filelist.txt volume.part01.rar
-m<n> 设置压缩模式:
-m0 存储 添加到压缩文件时不压缩文件。
-m1 最快 使用最快方式(低压缩)
-m2 较快 使用快速压缩方式
-m3 标准 使用标准(默认)压缩方式
-m4 较好 使用较好压缩方式(较好压缩,但是慢)
-m5 最好 使用最大压缩方式(最好的压缩,但是最慢)
如果没有指定这个参数,RAR使用-m3方式(标准压缩)。
-mc<参数>
设置高级压缩参数。
不当使用此参数可能导致不佳的性能和压缩率。此参数具有以下语法:
-mc[channels][mode][+ or -]
其中<模块>的位置是一个字符字段,定义需要配置的压缩算法。
可能的 <mode> 值是:
D - 增值压缩;
E - x86 Intel 可执行文件压缩;
L - 远程搜索;
X - 详尽搜索。
在参数结尾的'+'标记应用选择的算法模块到所处理的数据,'-'完全禁用
模块。如果没有指定标记,RAR将基于数据和当前的压缩模式自动选择模块。
参数 -mc- 禁止所有的可选模块并只允许常规压缩算法。
<Channels>参数由 delta 压缩使用,并被其他模式忽略。可用模式如下所述。
Delta 压缩
将数据拆分为几个单字节通道并计算它们之间的差异。可以提高表格数据的
压缩比。<Channels> 是 1-31 的字节通道数。
x86 Intel 可执行文件压缩
可以改善 32 和 64 位 x86 可执行程序的压缩率。
远程搜索
使搜索算法能够有效地定位相距甚远的重复数据块。它有助于提高压缩比,有时
也能加快冗余的数据,例如大文本文件。该算法在进行压缩时会增加内存要求,
但不会影响解压缩内存要求或速度。
如果未指定 -mcl+ 或 -mcl-,RAR 就会取决于压缩方式、字典大小和其他参数来
应用远程搜索。对于超过 4 GB 的字典将需要该算法并自动启用,而且无法使用
-mcl- 参数将其关闭。
远程搜索模式适用于 -m2..-m5 压缩方式,被 -m1 忽略。
详尽搜索
允许更慢、更详尽的重复数据搜索和压缩算法。它可能会为某些类型的冗余数据
提供额外的压缩增益,但速度要低得多。需要“远程搜索”来高效地实施该模式,
因此“详尽搜索”选项会自动启用它。
例子:
RAR a -s -md1g -mcx texts *.txt
创建含有 1 GB 字典和详尽搜索的固实压缩文件。
-md[x]<大小>[k,m,g]
选择字典大小。
这个可变大小的字典是被压缩算法使用的专用的内存区域。如果被压缩文
件的大小(或在一个固实压缩文件中的总文件大小)比压缩文件大许多,则
通常增加字典大小会增加压缩率,减慢压缩速度和增加内存需要。
对于 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。
WinRAR 7.0 将字典大小的最大值扩展到 64 GB,并允许超过 4 GB 的无二
次幂限制(Not power of 2)的字典大小。这样的压缩文件可以被 WinRAR
7.0 及更新的版本进行解压缩。
默认情况下,WinRAR 拒绝解压缩字典超过 4GB 的压缩文件。这样做是为了
防止意外的大内存分配。可以使用 -md<size> 或 -mdx<size> 来允许解压缩
大于等于指定大小的字典。不像 -md<size>,-mdx<size> 仅适用于解压缩,
而且能将其添加至 rar.ini 配置文件或 RARINISWITCHES 环境变量,不影响
压缩命令。
您可以附加 'k', 'm' 和 'g' 后缀指定大小单位是 KB,MB 和 GB, 例如,
-md64m 指 64MB 字典。如果后缀不存在,默认是 MB,所以 -md64m 等于
-md64。
压缩内存要求取决于字典大小以及是否存在远程搜索的 -mcl 参数。粗略估计
为 1 GB 字典大小的 7倍,64 GB 字典大小的 1.5 倍。
在解压缩时,会分配略大于一个字典的大小。
如果固实压缩文件所有源文件的大小,或非固实文件最大源文件的大小,
至少是字典大小的1/2,则 RAR 可以减少字典大小。它可以减少内存的
使用率而不会减小压缩比。
默认可变大小的字典大小是 32 MB。
例子:
RAR a -s -md128 lib *.dll
以 128 MB 字典创建 RAR 5.0 格式固实压缩文件。
-me[par]
设置加密参数。
现在仅支持 "s" 参数。您可以使用 -mes 参数,在解压或测试时跳过加密
文件。
-mlp 使用大内存页面。
使用更大的内存分配单元,可以改进归档,在某些情况下还能提高解压速度。
通常,对于较大的压缩字典和较慢的压缩方法,性能增益更为显着。
该功能需要“在内存中锁定页面”权限,如果缺少该权限,RAR 会建议将其
分配给当前用户账户,使其也对其他软件可用。必须重启 Windows 来激活新
分配的权限。
不能将大内存页面放置到 Windows swap 文件,且始终占用物理内存。在该
参数存在时,Windows 任务管理器会为 RAR 显示错误的内存使用值。
仅适用于 Windows 版本。
示例:
rar a -mlp backup.rar data\*
-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, lz, lzh, mp3,
rar, taz, tbz2, tgz, txz, zst, xz, z, zip, zipx, tzst
-mt<线程>
设置线程数。仅可用于 Window 版本。
<线程> 参数可以是从 1 到 64 的值。它定义对于压缩算法及其它 RAR
模块的活动线程的推荐最大数,以便启动多个线程。尽管 RAR 尝试遵从
这些推荐,有时真实的活动线程数可能超过指定的值。
改变 <线程> 参数轻微影响压缩率,所以如果所有其它压缩参数相等而
使用不同的 -mt 参数创建的压缩文件不会解压得一样连贯。
如果没有指定 -mt 参数,RAR 会尝试检测可用的处理器的数量并自动
选择优化的线程数。
-n<f> 附加过滤器包含文件
应用掩码为一个附加的过滤器来包含文件列表。通配符在文件掩码的名称
和文件部分都可用。有关掩码的句法详见参数 -x 的描述。
您可以数次指定参数‘-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@<lf> 从列表文件读取附加过滤器掩码。
和 -n<文件> 参数类似,但是从列表文件读取过滤器掩码。如果您使用无
列表名参数的 -n@,它会从 stdin 读取过滤器掩码。
此参数不替换通常的列表文件或文件掩码,它们仍需输入到命令行里。
它是一个额外的过滤器,用来限制仅处理那些匹配 -n 参数里指定的包含
掩码的文件。
示例:
rar a -r -n@inclist.txt text Project Info @listfile.txt
-oc 设置 NTFS 压缩属性。只可用于 Windows 版本。
此参数允许解压文件时恢复 NTFS 压缩属性。RAR 在创建一个压缩文件时
保存“压缩”文件属性,但是如果不指定 -oc 参数就不会恢复它们。
-oh 把硬链接作为链接而不是文件。
如果压缩中的文件包含数个 NTFS 硬链接,会把首个硬链接作为普通文件
存储,同组中剩下的硬链接作为首文件的链接存储。在解压这些文件的时
候,WinARR 会创建硬链接,而不是普通文件。
您一定不要在创建压缩文件后删除或重命名压缩文件中首个硬链接,因为
这导致不可能解压下面的链接。如果您修改首个链接,解压后下面链接的
内容也会被修改。解压命令要成功创建下面的硬链接必须涉及首硬链接。
此参数仅被 RAR 5.0 格式支持。
-oi[0-4][:<最小大小>]
把相同文件保存为引用。
参数 -oi0 (或仅 -oi-) 关闭相同文件处理,这样这些文件会被作为普通
文件压缩。可以被用来覆盖存储在 RAR 配置中的其它 -oi 值。
如果指定了 -oi1 (或仅 -oi),在启动压缩之前 WinRAR 会分析文件的内
容。如果找到几个相同的文件,组中的第一个文件作为普通文件保存,所
有剩下的文件保存为第一个文件的引用。这可以减少压缩文件的大小,但
对生成的压缩文件有一些限制。压缩文件创建后,您一定不要删除或重命
名文件压缩文件中的第一个相同文件,因为这会使后面的文件使用它作参
考的文件不能解压。如果您修改了第一个文件,后面的文件的内容在解压
后也会被修改。
虽然通常可以在不解压缩第一个文件的情况下解压缩引用,但在某些情况下,
可能必须使第一个文件参与提取来成功创建后续文件。这种情况包括存储在
几个可移动媒体上的多卷归档和包含大量引用的归档。
仅当您压缩了大量相同的文件并且以后不会修改归档时,才建议使用 -oi。
如果所有相同的文件小到足以匹配压缩字典,则指定 -md<n> 参数、-s 参数
可以提供比 -oi 更灵活的解决方案。
参数 -oi2 和 -oi1 类似,仅有的区别是:在开始压缩之前会显示找到的
相同文件的名字。
参数 -oi3 和 -oi4 允许利用 RAR 生成相同文件的列表。尽管您还需要提
供一个虚拟的压缩文件名使命令的语法有效。在这种模式下压缩文件不会
被创建也没有任何内容被压缩。如果使用 -oi3,会显示文件大小和名称,
每一个相同的文件组用空行分隔。参数 -oi4 显示单纯的文件名并跳过相
同文件组的第一个文件,所以仅列出重复的。
可选的 <最小大小> 值允许定义最小文件大小的阈值。小于 <最小大小>
的文件不被分析看作是不同的。如果这个参数不存在,默认值是 64 KB。
选择太小 <最小大小> 可能增加检测相同的文件所需的时间。
参数 -oi1 和 -oi2 仅被 RAR 5.0 格式支持。
例子:
1) rar a -oi archive
把当前目录中的内容保存到 archive.rar。把相同文件保存为引用。
2) rar a -oi3:1000000 -r dummy c:\photo\*.jpg
列出 c:\photo 和它的子目录中找到的所有大于等于 1000000 字节大小重复的
*.jpg 文件。
-ol[a,-]
将符号链接作为链接处理 [绝对路径, 跳过]
把符号链接保存为链接,以便文件或目录内容不被存档。在 Windows 版本
中它也把分析点保存为链接。这些文档项目在解压时被恢复为符号链接或分
析点。
Unix 系统和 Windows RAR 版本都支持。
Windows 中,解压时您需要管理员权限创建符号链接。
RAR 在使用-ol 参数压缩时添加所有链接,无论目标是什么。解压缩时,
为了防止将文件放在目标文件夹之外,解压缩命令会跳过使用绝对路径
的符号链接,链接目标中过多的“..”或其他具有潜在危险的链接参数。
它也会将一些链接转换为文件夹。您可以使用 -ola 参数来关闭这些安全
检查,并按原样解压所有链接。
这些链接指向解压目标文件夹以外的文件夹会带来安全风险。只有在您确
保归档内容十分安全(例如您自己的备份)时才能启用此解压。
总是解压 RAR 认为安全的链接,无论是使用 -ol 还是 -ola 参数,除非
指定 -ol-。
在压缩或解压缩时,参数 -ol- 跳过符号链接。
-om[-|1][=list]
传送 Mark of the Web.
互联网浏览器可以将所谓的 Mark of the Web 添加到已下载的文件中。
它被存储在 Zone.Identifier NTFS 备用数据流中,而且提供有关文件
安全区、原始位置和其他可选字段的信息。各种软件可以出于安全目的
使用它。
默认情况下,控制台 RAR 不将归档的 Mark of the Web 的内容复制到
从该归档解压出的文件中,不过可以使用此参数启用归档 Mark of the Web
传送。
如果该参数后接 '1' ,会将所有 Mark of the Web 字段从该归档复制
到解压的文件中。对于没有 '1' 的 -om,仅传送安全区的值。其他字段
中包含的信息可能有助于识别文件来源,但是如果将其与他人分享,可能
会泄露机密文件的下载位置、IP 地址和其他敏感信息。因此,不含'1'
修改符的该参数的默认行为是忽视除了安全区值以外的所有字段。
可选的 '-' 参数禁用 Mark of the Web 传送,而且可以用于覆盖存储在
rar.ini 配置文件或 RARINISWITCHES 环境变量中的设置。
可选的 <list> 参数定义文件扩展列表,由分号分隔。例如,-om=doc;exe;bat
将强制 RAR 仅为 *.doc、*.exe 和 *.bat 文件传送 Mark of the Web。
也允许它在列表中指定通配符文件掩码,因此 -om=*.doc;*.exe;*.bat
也能有效工作。如果省略 list,将假定对象为所有已解压的文件。
-os 参数用于在归档时保留 Mark of the Web 的源文件,因此在解压时
恢复它。
示例:
1) rar x -om archive.rar
将归档 Mark of the Web 传送到所有已解压的文件中。仅包含安全区的值。
2) rar x -om1=doc;exe archive.rar
将归档 Mark of the Web 传送到 *.doc 和 *.exe。包含所有 Mark of the Web
字段。
-oni 允许潜在的不兼容名称。
尽管 NTFS 文件系统允许文件名称带有后缀空格和小数点,也允许文件名
作为已保留设备的名称,有很多 Windows 程序无法正确处理此类名称。
如果未指定此参数,RAR 会删除后缀空格和小数点,如果解压时它们存在
于文件名中。它还将下划线字符插入已保留设备名称的开头,例如 aux。
如果您需要按原样解压此类名称,请指定此参数。这可能会带来兼容性甚至
安全隐患。
仅适用于 Windows 版本。
-op<path>
设置输出路径。
在“x”和“e”命令中指定要放置解压文件的目录。如果该目录不存在,
则由 RAR 进行创建。
与 <path_to_extract\> 命令行参数不同, -op 参数还接受没有尾随路
径分隔符的路径。
例如:
rar x -opdest archive
将 .rar 压缩文件的内容解压到“dest”目录。
-or 如果相同名字的文件已经存在则自动重命名解压的文件。重命名文件将得
到象 'filename(N).txt' 的名字,'filename.txt' 的位置是原始的文件
名,如果文件存在 'N' 是从 1 增加数字。
-os 保存 NTFS 流。 只有 Windows 版本可用。
这个参数意味着只能在 NTFS 文件系统下使用,并允许储存与文件相关的
交替数据流。如果您使用软件以交替数据流来存储数据并在压缩时希望保
留这些流,则您可能需要指定这个参数。
对于 NTFS 加密的文件不保存数据流。
-ow 当压缩时保存文件安全信息和解压时恢复它们时,使用这个参数。
Unix 版本的 RAR 当使用这个参数时保存文件所有者和组。
Windows 版本存储所有者、组、文件许可和校验信息,但是您必须有读取
它们的必需的权限。 注意只有 NTFS 文件系统支持在Windows下的文件基
本安全数据。
-o[+|-] 设置覆盖模式。可以在解压或更新文件时使用。下列模式可用:
-o 覆盖前询问
(默认用于解压文件);
-o+ 覆盖所有
(默认用于更新的压缩文件);
-o- 跳过已存在的文件。
-p[pwd] 设置密码
压缩时,使用字符串<pwd>作为密码来加密文件,或解压缩时解密。密码
大小写敏感,最大长度为127个字符。超过这个长度的密码将被截短。如
果您在命令行忽略密码,您会看到一个输入密码的提示。您也能使用文件
重定向或管道来指定密码,如果缺少 <pwd> 参数。
例子:
1) rar a -psecret texts.rar *.txt
添加 *.txt 文件并用密码"secret"加密.
2) rar -p texts.rar *.txt < psw.txt
设置 psw.txt 文件的内容为密码。
-qo[-|+]
添加快速打开信息 [无|强制]
RAR 压缩文件在描述的每个文件的数据前存储包含如文件名称、时间、大
小和属性的信息的文件头。这种方法比把所有文件头储存在一个连续的块
中更能防止损坏,后者如果损坏或丢失会摧毁整个压缩文件的内容。但在
更可靠的同时,这些文件头散布于整个压缩文件,如果我们需要在类似
WinRAR 图形界面的外壳中快速打开压缩文件的内容时的访问速度太慢。
要提高压缩文件的打开速度,而且要整个压缩文件不依赖于单一易受损块,
RAR 5.0 压缩文件可以包含一个可选的快速打开的记录。这些记录被添加
到压缩文件的结尾,包含附加在压缩文件内的普通文件头的文件名和其它
文件信息的副本被存储在一个单一的连续块中。因为块是连续的,所以其
内容可以被快速读取,而不需要执行大量的磁盘寻道操作。此块中每一个
文件头都被校验和保护。如果 WinRAR 检测到快速打开信息被破坏,它会
从压缩文件内重新读取这部分的头信息,所以防伤害性能没有被减弱。
快速打开记录包含文件头的完整副本,这可能是数十或数百个字节/文件,
会把压缩文件的大小增加相同的量。当文件数据大小与文件头差不多大时,
对于许多小文件,大小的增加是很明显的。所以在默认情况下,如果没有
指定 -qo 或 -qo 没有使用参数,WinRAR 只对相对大的文件存储头副本,
对小文件继续使用本地头。具体的文件大小阈值依赖解 WinRAR 的版本。
这种方法提供了一个在打开速度和压缩文件大小之间的合理折衷。如果您
想要最大的压缩文件打开速度,而不管大小,您可以使用 -qo+ 存储所有
文件头的副本。如果您需要尽可能小的压缩文件,而不关心压缩文件在不
同的程序中打开的速度,指定 -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<p>[:<s>]
设置优先级和休眠时间。只有在 Windows 版本的 RAR 中可用。
这个参数让 RAR 在多任务环境下时,用来控制系统载入负荷。可用任务
优先级值从 0 到 15。
当 <p> 等于 0 时,RAR 使用默认任务优先级。1 对应
最低的任务优先权,15 - 最高。
休眠时间 <s> 是从 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 sources.rar *.c *.h
-s<N> 根据文件计数创建固实组
和 -s 相似,但是在压缩<N>文件后重置压缩文件的状态。通常减少压缩率,
但是也能减少损坏的固实压缩文件中的文件丢失。
-sc<字符集>[对象]
指定字符集。
“字符集”参数是强制的, 可以使用下列值:
U - Unicode UTF-16;
F - Unicode UTF-8;
A - 本机单字节编码,这是 ANSI Windows 版本;
O - OEM (DOS) 编码。仅用于 Windows 版本;
源 UTF-16 文件(例如列表文件或注释)的端字节序(Endianness),基于
字节序标记来检测。
如果丢失字节序标记,假定为小端字节序(little endian)编码。
“对象”参数是可选的, 可以使用下列值:
G - -ilog 参数生成的日志文件;
L - 列表文件;
C - 命令文件。
R - 发送至重定向文件和管道的消息(仅 Windows)。
它允许指定不只一个对象, 例如, -scolc。如果 '对象' 参数丢失, '字符
集' 会应用到所有对象。
此参数允许指定在 -z[文件] 参数中的文件的字符集, 列表文件和注释文
件在 "cw" 命令中写入。l
例子:
1) rar a -scol data @list
使用 OEM 编码读取 'list' 中包含的名称。
2) rar c -scuc -zcomment.txt data
读取 comment.txt 为 Unicode 文件。
3) rar cw -scuc data comment.txt
写入 comment.txt 为 Unicode 文件。
4) rar lb -scur data > list.txt
以 Unicode 格式将 data.rar 中的压缩文件名称保存到 list.txt。
-se 根据扩展名创建固实组
和 -s 相似,但是如果文件扩展名改变,重置压缩文件的状态。通常减少压
缩率,但是也能减少损坏的固实压缩文件中的文件丢失。
-sfx[名称]
创建自解压压缩文件。如果建立新压缩文件时使用此参数,自解压文件(使
用 default.sfx 模块或在参数中指定)将被创建。在 Windows 版本中,
default.sfx 应该在 rar.exe 所在的目录中,在 Unix 系统中 - 在用户的 home
目录中。在/usr/lib 或 /usr/local/lib 中。
Windows 版本为 32 位 SFX 模块使用 default32.sfx 名称。
例子:
rar a -sfxwincon.sfx myinst
使用 wincon.sfx 自解压模块创建自解压(SFX)压缩文件。
-si[名称]
在创建、解压或测试一个压缩文件时从 stdin(标准输入)读取数据。
在归档时,可选的“name”参数允许在创建的压缩文件中指定压缩 stdin
数据的文件名。如果缺少此参数,则将此名称设置为“stdin”。
解压时,命令行中指定的压缩文件名称仅用于信息性消息,但实际压缩文件
的数据是从 stdin 读取的。因此可以应用任何虚拟压缩文件的名称。
从 stdin 读取压缩文件数据时,RAR 无法执行需要向后搜索的操作。在这种
模式下有些功能无法使用,包括显示压缩文件备注、恢复测试记录、使用快速
打开信息和处理多卷压缩文件。
-si 不允许需要用户交互的任何提示,这会导致程序终止。如果可以覆盖现有
文件或解压缩加密的文件,请使用 -o[+|-|r]、-p<pwd> 或 -mes 参数来避免
此类提示。
例如:
1) 压缩“type readme.txt”输出为“readme.rar”文件
type readme.txt | rar a -sireadme.txt readme.rar
2) 解压 docs.rar 到“docs”目录
type docs.rar | rar x -si -o+ -pmypwd dummy docs\
-sl<大小>[b|B|k|K|m|M|g|G|t|T]
仅处理那些文件大小小于本参数的 <大小> 里指定的值的文件。
参数 <大小> 必须以字节为单位。
大小值后面的单位类型字符可以是'b'或'B',表示字节,'k'表示千字节,'K'
表示数千字节,'m'表示百万字节,'M'表示数百万字节,'g'表示十亿字节,
'G'表示数十亿字节,'t'表示万亿字节,'T'表示数万亿字节。如果不存在此
字符,则大小值将被视为字节。
-sm<大小>[b|B|k|K|m|M|g|G|t|T]
仅处理那些文件大小大于本参数的 <大小> 里指定的值的文件。
参数 <大小> 必须以字节为单位。
大小值后面的单位类型字符可以是'b'或'B',表示字节,'k'表示千字节,'K'
表示数千字节,'m'表示百万字节,'M'表示数百万字节,'g'表示十亿字节,
'G'表示数十亿字节,'t'表示万亿字节,'T'表示数万亿字节。如果不存在此
字符,则大小值将被视为字节。
-sv 创建互不依赖的固实压缩文件
当开始一个新的卷时,RAR 默认尽可能的尝试重置固实格式状态,但是只有
在上一次复位后,又压缩了足够多的数据。(至少几兆字节)。
这个参数会强制 RAR 忽略打包的数据大小,并试图对任何大小的分卷重置
状态。这会降低压缩率,但在固实卷组中的数个卷之一丢失或损坏时可以
增加解压部分数据的机会。
注意有时候 RAR 即使使用这个参数也无法重置状态。例如,当压缩一个
大文件成许多分割卷时就不能完成。RAR 只能在分离文件之间重置状态,
而不能用在单独文件上。
在创建不带卷的压缩文件时忽略。
-sv- 创建互相依赖的固实压缩文件
禁止卷之间重设固实状态。
这将稍微提高压缩率,但是意味着如果数个固实卷之一丢失或损坏时减
少解压部分数据的机会。
在创建不带卷的压缩文件时忽略。
-s- 禁止固实压缩
-t 压缩后测试文件。这个参数在和移动命令组合使用时非常有用,所以只有
压缩文件已经被成功测试后,文件才会被删除。
-ta[m,c,a,o]<日期>
只处理指定日期之后修改的文件。也包括完全匹配指定日期的文件。
日期字符串的格式是 YYYYMMDDHHMMSS。它允许在日期字符串中插入'-'
或 ':'的分隔符,并忽略后部区域。例如,下列参数是正确的:
-ta2001-11-20在内部它被转换成 -ta20011120000000 并作为"从2001
年11月20日0时0分0秒后修改的区域"对待。
使用 'm', 'c', 'a' 参数来指定相应的修改、创建 (Unix 系统中为 ctime)
和上次访问时间,例如 -tac20011120 表示创建时间。
如果此类参数被忽略,则假定为修改时间。
允许在同一个参数里使用几个修饰参数,例如 -tamc20190215,来为所
有指定的时间设置相同的日期。
另外,您可以添加几个时间过滤参数到命令行。
默认情况下,时间过滤器使用 AND 逻辑,因此一个文件必须匹配所有
此类过滤器才能被处理。它可以用 'o' 修饰参数来修改为 OR 逻辑,
这样一个文件必须至少匹配一个 'o' 过滤器。
例如,使用 -taco20190201 -tamo20190210 来包含创建于 2019-02-01
之后或修改于 2019-02-10 之后的文件。
-tb[m,c,a,o]<日期>
只处理指定日期之前修改的文件。不包括完全匹配指定日期的文件。参数
的格式和 -ta<日期> 相同。
-tk 保存原始压缩文件日期。防止当正在改变一个压缩文件时RAR修改文件。
-tl 设置压缩文件的日期为最新文件的日期。强制RAR设置改变的压缩文件的日
期为压缩文件中最新文件的日期。
-tn[m,c,a,o]<时间>
处理指定时间以后的新文件。也包括完全匹配指定日期的文件。时间字符串
格式时:
[<ndays>d][<nhours>h][<nminutes>m][<nseconds>s]
例如,使用参数 -tn15d 来处理更新了15天的文件,-tn2h30m 来处理更
新了2小时30分的文件。
使用 'm', 'c', 'a' 参数来指定相应的修改、创建(Unix 系统中为 ctime)
和上次访问时间,例如 -tnc2h30m 表示创建时间。
如果此类参数被忽略,则假定为修改时间。
允许在同一个参数里使用几个修饰参数,例如 -tnmc30d,来为所有指定的时间
设置相同的日期。另外,您可以添加几个时间过滤参数到命令行。默认情况下,
时间过滤器使用 AND 逻辑,因此一个文件必须匹配所有此类过滤器才能被处理。
它可以用 'o' 修饰参数来修改为 OR 逻辑,这样一个文件必须至少匹配一个 'o'
过滤器。例如,使用 tnco30d -tnmo20d 来包含创建时间超过 30 天或修改时间
超过 20 天的文件。
-to[m,c,a,o]<时间>
处理指定时间以前的旧文件。不包括完全匹配指定日期的文件。参数的格式和
-tn<时间> 相同。
-ts[m,c,a,p][+,-,1]
保存或恢复文件时间(修改,创建或 ctime,访问)。
使用 -tsm 来保存文件的修改时间。-tsc 参数在 Windows 中保存创建时间,在
Unix 系统中保存更改时间,也称为 ctime。-tsa 参数保存上次访问时间。允许使用
多个 -ts 参数,例如 -tsc -tsa。如果未指定“m”、“c”或“a”,则假定所有
三个文件时间。
附加 '+' 来保存文件时间并带有最大的精度。具体值取决于操作系统和
文件系统,并且可以在 Windows 里达到 100 纳秒,在 Unix 系统里达到 1
纳秒。 附加 '1' 来设置 1 秒精确度,或者 '-' 来不保存文件时间。
例如 -ts- 忽略上述所有三种时间。如果没有 '+', '-' 或 '1',则假定
为 '+',因此 -ts+ 和 -ts 都保存三种高精度时间。
同一文件的所有存储时间始终具有相同的精度。如果指定了不同的精度,
例如 -tsm1 -tsc+,则选择常用精度。
如果 -ts 参数未指定,RAR 保存最高精度的修改时间并忽略其它时间。
默认时 RAR 仅为已解压的文件设置修改时间,即使压缩文件包含其它时间。
解压时请使用 -ts- 或 -ts+ 来设置这三个时间,-tsc 和 -tsa 来设置创
建和上次访问时间,-tsm- 或 -ts- 来设置当前的系统时间而不是保存在压
缩文件里的修改时间。
解压时 Windows 允许设置所有三种文件时间。
在 Unix 系统里我们可以设置修改时间和上次访问时间,但不能设置更改时间。
使用 -tsp 参数可以在归档时保留源文件原始的上次访问文件时间。此参数
尝试保留归档文件原始的上次访问时间,但不控制将哪些时间戳存储到归档中。
为此,它必须结合其他 -ts 参数一起使用。例如,如果我们希望保存上次访问
归档时间,并保留源文件的上次访问时间,我们需要同时使用 -tsa -tsp。要
使用 -tsp 参数打开一些文件,可能必须要作为管理员运行 RAR。
虽然 -tsp 受 RAR for Windows 的支持,但不能保证适用于其他平台。
允许在同一个参数中组合多个修饰符,例如 -tscap 而不是 -tsc -tsa -tsp。
例子:
1) rar a -ts backup
使用最高精确度存储所有文件时间。
2) rar x -tsa backup
恢复修改和最近访问时间。参数 -tsm 不是必需的,因为 RAR 默认设置
修改时间。如果我们希望恢复上次访问时间,我们应该使用 -tsm- -tsa参数:
3) rar a -tsm1 -tsc1 -tsp backup
存储低精确度的修改和创建或 ctime 时间。
保留源文件的上次访问时间。
或者,我们可以使用 -tsm1c1p 而不是 -tsm1 -tsc1 -tsp。
-u 更新文件。 这可在解压或创建压缩文件时使用。命令字符串 'a -u' 和
命令 'u'等效。您也可以使用参数'-u'和命令'm'和'mf'一起使用。如果开
关'-u'使用与命令'x'或'e'一起使用,则在磁盘上不存在的文件和比在磁
盘上的拷贝新的文件将从压缩文件中解压。
-v 创建自动检测大小的卷或列出所有的卷
当正在创建或正在列表卷时这个参数可以使用。
在第一种情况下,它启用卷的自动大小检测,所以新的卷将使用目标媒体
上的所有可用空间。当在可移动磁盘上创建卷时非常便利。您可以在 -v
<大小> 的描述中读到更多关于卷的信息。
在第二种情况下,在命令行中当这个参数和'V' 或 'L'命令一起使用,它
强制 RAR 列出从指定卷开始的所有卷的内容。没有这个参数,RAR 只显
示单独的被指定卷的内容。
-v<大小>[b|B|k|K|m|M|g|G|t|T]
创建指定大小的分卷。
大小值后面的单位类型字符可以是'b'或'B',表示字节,'k'表示千字节,'K'
表示数千字节,'m'表示百万字节,'M'表示数百万字节,'g'表示十亿字节,
'G'表示数十亿字节,'t'表示万亿字节,'T'表示数万亿字节。如果不存在此
字符,则大小值将被视为字节。
如果大小被忽略,将使用自动检测。
它允许使用十进位小数。作为十进制的标记。例如,v1.5g 参数表示 1.5
GB。
您可以指定几个 -v 参数来为不同的卷设置不同的大小。例如:
rar a -v100k -v200k -v300k arcname
第一卷设为 100 KB 大小, 第二卷设为 200 KB, 剩下的为 300 KB。
如果在可移动磁盘上创建卷,第一卷被创建后,用户将被提示:
创建下一卷: 是/否/全部
此时,您可以改变磁盘。回答'A'将使所有的卷不暂停地被创建。
RAR 卷可以拥有像“volname.partNNN.rar”这样的卷名, 其中 NNN 是卷号。
由较旧的 RAR 版本创建的分卷可以使用另一种命名方案,其中多卷集中的
第一个卷文件具有 .rar 扩展名,然后是带有从 .r00 至 .r99 扩展名的
分卷。RAR 可以解压缩这些卷,但不使用基于新压缩文件名称的扩展名。
当解压或测试多卷压缩文件时,您必须只使用第一卷的文件名。如果在驱
动器中没有下一卷并且磁盘可移动,用户会被提示:
插入磁盘带有 <下一卷名>
插入带有正确卷的磁盘并按任意键。
如果在解压过程中,下一卷没有找到或卷放在不可移动磁盘上,RAR 将显
示下列信息后中断:
没有找到 <卷名>
压缩卷不可以被修改。命令'd','f','u','s' 不能在多卷组中使用。
命令'a'只可以用在创建新的多卷序列时。
也许,虽然不太可能,多卷组中文件大小可能比未压缩时大,原因是'存
储'特征(如果大小增加时不压缩)在多卷组中不能启用。
压缩卷可以是自解压格式,这样的压缩文件可使用 '-v' 或 '-sfx'参数
创建。
例子:
创建每卷为 1 GB 的实体卷:
rar a -s -v1g volume.rar bitmaps
-vd 创建卷之前清除磁盘内容
当使用 '-vd' 时,目标盘上的所有文件和目录都将被删除。这个参数只
能用在可移动磁盘上,使用这个参数不能删除硬盘内容。
-ver[n] 文件版本控制
当在已经存在的压缩文件中更新文件时,强制 RAR 保留前一文件版本。
旧版本被命名为'filename;n','n'处是版本号。
当不使用参数 -ver 解压一个压缩文件,rar 默认只解压最近添加的文件
版本,它的名字不能包含数字后缀。但是如果您正确指定了文件名,包括
版本,它也可以解压。例如,'rar x arcname'将只解压最新版本,当使
用 'rar x arcname file.txt;5' 将解压 'file.txt;5',如果它在压缩
文件中存在的话。
解压时如果您不带参数指定-ver参数,
RAR 将解压所有和文件掩码匹配的所有文件中的所有版本。这样版本号没
有从未压缩文件名中删除。您也可以使用数字作为-ver的参数来解压一个
具体的文件版本。它将告诉RAR只解压这个版本并从文件名中删除版本号。
例如,'rar x -ver5 arcname' 将只解压第五版本文件。
如果压缩时您指定了‘n’参数,它会限制在压缩文件中文件版本的最大
数字。超过此限制的旧的文件版本会被移除。
当使用 -ver 参数压缩时,建议在要添加的文件里避免 'filename;n'
格式的名称。此类名称可能导致重复项目,如果在压缩文件里存在较老版
本的同名文件或将在之后创建。
-vp 每一卷后暂停
默认处理下一卷前,RAR 仅在使用可移动驱动器上并且剩余的磁盘空间
小于卷大小时询问确认。这个参数强制 RAR 在创建或解压卷前总是进行
这样的询问。例如,如果您要在创建后立即把新卷复制到其它媒体时有
用。
-w<p> 分配工作目录至<p>。
RAR 会在归档修改这样的操作中创建临时文件。此参数可以用来为这些
临时文件指定目录。该目录必须已经存在。
例子:
在将新备注添加到 info.rar 时,为临时文件使用 d:\tmp 目录
RAR c -wd:\tmp -zcomment.txt info.rar
-x<f> 排除指定的文件或文件夹 <f>,通配符可以用在文件名和文件掩码的路径
部分。您可以在同一命令行中数次指定参数'-x'来定义数个排除掩码。
如果掩码包含通配符,它应用到当前目录中的文件和它的子目录。没有
通配符它不递归,“filename”掩码会在压缩时仅排除当前目录中的
'filename' 文件或解压时排除压缩文件根目录中的 'filename'。
使用 "*\filename" 语法排除所有目录中的所有 "filename"。
如果您知道一个文件的确切路径,您可以是使用“路径\文件名”语法来
仅排除“文件名”的此副本。如果您在解压一个压缩文件时使用 -x路径\
文件名语法,“路径”必须是一个压缩文件内的路径,而不是在解压后的
磁盘上的文件路径。
默认,包含通配符的掩码仅应用于文件。如果您需要使用有通配符的掩码
排除多个目录,要使用特殊的语法来用于目录排除掩码。这样的掩码必须
在后面跟一个斜线的路径分隔符(Windows 是 '\',Unix 系统是 '/')。例如,
"*tmp*\"掩码会排除所有匹配 "*tmp*" 掩码的目录,"*\tmp\"会排除所有
的 'tmp' 目录,由于通配符的存在,掩码会应用于当前目录和它的子目录
中的内容。
如果您要仅排除一个目录,不要使用任何通配符,指定确切的包含相对或
绝对路径的目录名。这种情况下您不需要为掩码追加附件的路径分隔符,
只有在掩码中包含通配符,需要把它们从文件排除掩码中区分出来时才必
须。
例子:
1) rar a -r -x*.jpg -x*.avi rawfiles
压缩当前目录和它的子目录中的除了 *.jpg 和 *.avi 文件外的所有文件;
2) rar a -r -x*\temp\ savec c:\*
压缩 C: 上除了 'temp' 文件夹中的 'temp' 目录和文件外的所有文件;
3) rar x -x*.txt docs
从 docs.rar 解压除了 *.txt 外的所有文件。
-x@<lf> 排除指定文件列表中列出的文件。如果您使用 -x@ 而没有列表文件名参数,
它会从标准输入设备读取文件名。
例子:
rar a -x@exlist.txt arch *.exe
-y 对于所有询问全部回答是。
-z[file] 从文件<file>中读取压缩文件注释。
此参数可以用于任何压缩文件修改命令,以从文件读取压缩文件注释并将其
添加到压缩文件。如果您需要指定注释文本文件的字符集,请使用 -sc 参数。
如果 <f> 没有指定,注释从标准输入设备读取。
限制
~~~~
命令限制:
命令 'd','u','f','c','cf' 不能用于分卷压缩文件。
命令 'a' 不能用来更新分卷压缩文件,只能用来创建一个新的。
返回值
~~~~~~
RAR 成功操作后返回 0 。非 0 返回码意味着操作由于某种错误被取消:
代码描述
0 操作成功
1 没有发生致命错误
2 发生一个致命错误
3 无效校验和。数据损坏
4 试图修改使用 'k' 命令锁定的压缩文件
5 写入磁盘错误
6 文件打开错误
7 错误的命令行选项
8 没有足够的内存进行操作
9 文件创建错误
10 没有找到与指定的掩码和选项匹配的文件。
11 密码错误
12 读取错误
13 坏归档。
255 用户中断操作
术语表
~~~~~~
压缩文件 包含一个或一个以上文件的压缩和/或加密的特定文件。
压缩 减少数据大小的编码方法。
校验和 数据块或文件的计算值,用于检查数据或文件认证。
SFX 文件 自解压压缩文件。可执行文件格式的压缩文件,由自解压模块和
其后的压缩数据组成。只需要运行此文件就能开始解压。
固实 对压缩文件使用专用的压缩方式(把所有文件看成一个连续的数据
流)打包。当压缩大量小文件特别有利。
卷 压缩文件的拆分部分。拆分一个压缩文件成卷允许把它们存储在多
个移动磁盘上。固实格式卷解压时必须从序列中的第一个开始。
版权所有
(c) 1993-2014 Alexander Roshal
C:\Program Files\WinRAR>rar /?
RAR 7.13 x64 版权所有 (c) 1993-2025 Alexander Roshal 28 七月 2025
已注册给
用法: rar <command> -<switch 1> -<switch N> <archive> <files...>
<@listfiles...> <path_to_extract\>
<Commands>
a 添加文件到压缩文档
c 添加压缩文档注释
ch 更改压缩文档参数
cw 写入压缩文档注释到文件
d 从压缩文档删除文件
e 提取文件不带压缩路径
f 刷新压缩文档中的文件
i[par]=<str> 在压缩文档里查找字符串
k 锁定压缩文档
l[t[a],b] 列出压缩文档内容 [technical[all], bare]
m[f] 移动到压缩文档 [仅文件]
p 打印文件到 stdout
r 修复压缩文档
rc 重新构建丢失的卷
rn 重命名归档的文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[name|-] 转换压缩文档到或从 SFX
t 测试压缩文档的文件
u 更新压缩文档中的文件
v[t[a],b] 详细列出压缩文档的内容 [technical[all],bare]
x 解压文件带完整路径
<Switches>
- 停止参数扫描
@[+] 禁用 [enable] 文件列表
ac 压缩或解压后清除压缩文档属性
ad[1,2] 备选目标路径
ag[format] 使用当前日期生成压缩文档名称
ai 忽略文件属性
am[s,r] 压缩文件名称和时间 [保存, 恢复]
ao 添加文件带有压缩文档属性集
ap<path> 设置压缩文档内部的路径
as 同步压缩文档内容
c- 禁用注释显示
cfg- 禁用读取配置
cl 转换名称为小写
cu 转换名称为大写
df 压缩后删除文件
dh 打开共享的文件
dr 删除文件到回收站
ds 为固实压缩禁用名称排序
dw 压缩后删除文件
e[+]<attr> 设置文件排除和包含属性
ed 不要添加空目录
ep 从名称里排除路径
ep1 从名称里排除根目录
ep2 扩展路径为完整路径
ep3 扩展路径为完整路径包括驱动器盘符
ep4<path> 从名称中排除路径前缀
f 刷新文件
hp[password] 加密文件数据及文件头
ht[b|c] 设置哈希类型 [BLAKE2,CRC32] 用于文件校验和
id[c,d,n,p,q] 显示或禁用消息
ieml[addr] 通过电邮发送压缩文档
ierr 发送所有压缩文档到 stderr
ilog[name] 记录错误日志到文件
inul 禁用所有消息
ioff[n] 完成一个操作后关闭电脑
isnd[-] 控制通知声音
iver 显示版本号
k 锁定压缩文档
kb 保留损坏的已解压文件
log[f][=name] 将名称写入日志文件
m<0..5> 设置压缩等级 (0-store...3-default...5-maximal)
mc<par> 设置高级压缩参数
md[x]<n>[kmg] 词典大小单位为 KB, MB 或 GB
me[par] 设置加密参数
mlp 使用大内存页面
ms[ext;ext] 指定要存储的文件类型
mt<threads> 设置线程数
n<file> 额外过滤器包含文件
n@ 从 stdin 读取额外的过滤器掩码
n@<list> 从列表文件读取额外的过滤器掩码
o[+|-] 设置覆盖模式
oc 设置 NTFS 压缩属性
oh 保存硬链接为链接而不是文件
oi[0-4][:min] 将相同的文件保存为参考
ol[a,-] 将符号链接处理为链接 [absolute paths, skip]
om[-|1][=lst] 传送 Mark of the Web
oni 允许潜在的不兼容名称
op<path> 设置解压文件的输出路径
or 自动重命名文件
os 保存 NTFS 流
ow 保存或恢复文件拥有者和组
p[password] 设置密码
qo[-|+] 添加快速打开信息 [none|force]
r 递归子目录
r- 禁用递归
r0 递归子目录仅用于通配符名称
ri<P>[:<S>] 设置优先级 (0-默认,1-最小.15-最大) 和休眠时间单位为 ms
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[<N>,v[-],e] 创建固实压缩文档
s- 禁用固实压缩文档
sc<chr>[obj] 指定字符集
sfx[name] 创建 SFX 压缩文档
si[name] 从标准输入读取数据 (stdin)
sl<size>[u] 处理小于指定大小的文件
sm<size>[u] 处理大于指定大小的文件
t 压缩后测试
ta[mcao]<d> 处理那些在日期 <d> YYYYMMDDHHMMSS 之后修改过的文件
tb[mcao]<d> 处理那些在日期 <d> YYYYMMDDHHMMSS 之前修改过的文件
tk 保留原来的压缩时间
tl 设置压缩时间为最近的文件
tn[mcao]<t> 处理那些时间比 <t> 更新的文件
to[mcao]<t> 处理那些时间比 <t> 更旧的文件
ts[m,c,a,p] 保存或恢复时间(修改日期,创建日期,访问日期,保留日期)
u 更新文件
v<size>[u] 以 [bBkKmMgGtT] 为单位大小创建卷
vd 创建卷之前删除磁盘内容
ver[n] 文件版本控制
vp 每个卷之前暂停
w<path> 指定工作目录
x<file> 排除指定文件
x@ 读取文件名以便从 stdin 排除
x@<list> 排除在指定列表文件里列出的文件
y 对所有查询假设是
z[file] 从文件读取压缩文档注释