                                   用户手册
                                   ~~~~~~~~
                            RAR 3.20 32 位控制台版本
                            ~~~~~~~~~~~~~~~~~~~~~~~~

                          =-=-=-=-=-=-=-=-=-=-=-=-=-=-
                          欢迎使用 RAR 压缩文件管理器!
                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=

 简介
 ~~~~

    RAR 是一个强力压缩工具，允许你管理和管理压缩文件。控制台 RAR 只支持 RAR 
  格式，带有的 ".rar" 扩展名的文件。ZIP 和其他格式不被支持。Windows 用户可以
  安装图形界面 RAR 版本 - WinRAR，它可以处理更多的压缩文件类型。

  RAR 的功能包括:

    *  高度成熟的原创压缩算法
    *  对于文本、声音、图像和 32 位和 64 位 Intel 可执行程序压缩的特殊优化算法
    *  获得比类似工具更好的压缩率，使用'固实'压缩
    *  身份校验(只有注册版本可用)
    *  自解压压缩文件和分卷压缩(SFX)
    *  对物理损伤的压缩文件的恢复能力
    *  锁定，密码，文件顺序列表，文件安全和更多……


 配置文件
 ~~~~~~~~

  Unix 版本的 RAR 从用户的 home 或 /etc 目录中的 .rarrc 文件读取配置文件信息
  (存储在 HOME 环境变量中)

  Windows 的版本 RAR 从 rar.ini 文件读取配置文件信息，它放在 rar.exe 文件相
  同的目录中。
  
  这个文件包含下列字符串:

  开关=<任何 RAR 开关，用空格分开>


 环境变量
 ~~~~~~~~

    可以通过建立"RAR"环境变量来添加默认参数到命令行中.

    例如，在 UNIX 中，下列命令行可以被添加到你的配置中:

      RAR='-s -md1024'
      export RAR

    RAR 将使用这个字符串作为命令行的默认参数，并将使用 1024KB 字典大小来创建
    “固实”压缩文件。

    RAR 控制选项使用下列优先级:

       命名行开关                              最高优先级
       在 RAR 变量中的开关                     低优先级
       保存在配置文件中的开关                  最低优先级


 日志文件
 ~~~~~~~~

  如果在命令行或配置文件中指定开关 -ilog ，RAR 将会把处理压缩文件中遇到的错误
  等写到日志文件中。在 Unix 中，这个文件名为 .rarlong，放在用户的 home 目录中。
  在 Windows 中，它名为 rar.log，放在 rar.exe 文件相同的目录中。开关 -ilog 允
  许改变默认的日志名。


 固实压缩的文件列表 - rarfiles.lst
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  rarfiles.lst 包含用户定义的文件列表，告诉RAR添加文件到固实压缩文件时的顺序。
  它可以包含文件名通配符和指定项目-$default。默认项目定义了这个文件中与其他
  项目不相符时的顺序清单位置。 注释字符是 ';'.

  在 Windows 中，这个文件应该放在RAR所在的目录中。
  在 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 将默认是 *.*，来处理所有文件

    在一个 UNIX 环境变量中，你需要将通配符置于引号中，避免被 RAR 处理通配符
    本身。例如，这个命令将从当前路径中的 RAR 压缩文件解压所有的 *.asm 文件:

       rar e '*.rar' '*.asm'


    命令可以是下列中的任何一个:

    a       添加文件到压缩文件中。

            例子:

            创建或更新已存在的压缩文件 myarch，添加当前目录中的所有文件

            rar a myarch


    c       添加压缩文件注释。当压缩文件被处理时注释被显示。文件的注释长度限
            制到 32767 字节

            例子:

            rar c distrib.rar

            注释也可以从文件添加:

            rar c -zinfo.txt dummy


    cf      添加文件注释。当使用'v'命令时显示文件注释。文件的注释长度限制到
            32767 字节。

            例子:

            rar cf bigarch *.txt


    cw      写压缩文件注释到指定文件。

            例子:

            rar cw oldarch comment.txt


    d       从压缩文件中删除文件。注意，如果这个命令导致压缩文件中所有文件全部删除，
            这个空的压缩文件将被删除。


    e       解压文件到当前目录。


    f       更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个命令不
            向压缩文件中添加新文件。


    i[i|c|h|t]=<字符串>
            在压缩文件中查找字符串。

            支持下列可选参数:

              i - 不区分大小写(默认);

              c - 区分大小写搜索;

              h - 十六进制搜索;

              t - 使用 ANSI, Unicode 和 OEM 字符表 (只有 Win32 可用);

            如果没有指定任何参数，它可以使用简化的命令行语法 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,b]  压缩文件的内容列表[技术信息]。和 'v' 命令一样列出文件，但不包括
            文件路径。也就是只显示文件名。当使用't'修正时可选技术信息(主操作
            系统，固实标志和老版本标记)被显示。变量 'b' 强迫 RAR 只输出单纯
            的文件名，而没有其他任何的附加信息。


    m[f]    移动到压缩文件中[只用于文件]。移动文件和目录会使压缩操作完成后它
            们被删除。如果使用修正'f'和/或应用开关'-ed'，则不删除目录。


    p       打印文件到标准输出设备。

            你可以把这个命令和 -inul 开关一起是用来禁止所有的 RAR 信息，并只
            打印文件数据。当你需要发送一个文件到标准输出设备时，这也许很重要。


    r       修复压缩文件。压缩文件修复是在两阶段中完成的。首先，在损坏的压缩
            文件中查找恢复记录(参照'rr'命令)。如果压缩文件包含恢复记录，并且
            损坏数据部分是连续的，而且少于N*512字节(N 处是放入压缩文件恢复块
            的数字),则成功恢复压缩文件的机会非常高。当这个阶段完成，一个新的
            压缩文件将被创建，名为_RECOVER.RAR。

            如果损坏的压缩文件不包含恢复记录或如果压缩文件没有完全恢复导致大
            的损伤，将执行第二阶段。这一阶段期间只重建压缩文件的结构，而不可
            能恢复 CRC 校验失败的文件。它仍然可能恢复不在受损部位，而文件结
            构破坏的文件。这对于非固实压缩文件通常有用。

            当第二阶段完成，重建结构的压缩文件将被保存为 rebuilt.arcname.rar,
            'arcname' 的位置是原始压缩文件名。

            RAR/DOS32 版本使用 _recover.rar 和 _reconst.rar 而不是上面提及的
            名字。

            随着恢复记录的提高，当发现可疑文件时，RAR 可以提示用户。

                      可疑项目

              名字:  <可能的文件名>
              大小:  <大小>    压缩后: <压缩后大小>

                      添加它: 是/否/全部

            回答'y'来把这个项目添加到文件 _RECOVER.RAR 中。

            例子:

            rar r buggy.rar


    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]   添加数据恢复记录。可选，多余信息(恢复记录)可以被添加到压缩文件
            中。这将导致压缩文件大小稍微增加，但能在软盘错误或其它数据丢失
            情况下帮助恢复压缩文件。一个恢复记录最大包含 524288 个恢复块。
            块的数目可以在'rr'(N = 1，2 .. 524288)命令中直接指定或不用用户
            指定，而是根据压缩文件的大小自动设定：一个恢复信息大小大约是总
            压缩文件大小的1%，通常允许恢复达到压缩文件总大小的0.6%的连续数
            据。

            也可以以压缩文件大小的百分比来指定恢复记录的大小。只要把%添加到
            命令参数后。 例如:

            rar rr3% arcname

            注意，如果你从.bat 或 .cmd文件运行这个命令时，你需要使用rr3%%代
            替rr3%，因为批处理命令把符号'%'作为批处理文件开始的参数。你可以
            使用 'p' 代替'%'，所以'rr3p'也可运行。

            如果受损的数据是连续性的，则每个恢复记录块帮助恢复损坏信息的512
            字节。如果多处损坏这个值将降低。

            恢复记录的大小可以使用公式<压缩文件大小>/256 + <恢复记录数>*512
            字节估计。


    rv[N]   创建恢复卷(.rev文件)，以后它可以用于重建卷组中丢失的文件。这个命
            令只对多卷压缩文件敏感，你需要在组中指定第一个分卷文件的文件名。
            例如:

            rar rv3 data.part01.rar

            这个功能可以被用来备份，例如，发送一个多卷压缩文件到一个新组，并
            且部分接收者没有收其中的一些文件。重新发送恢复卷代替普通卷，可以
            减少传送文件的总数。

            每个恢复卷可以重建一个丢失的 RAR 卷。例如，如果你有30个卷，3个恢
            复卷，你可以创建任何3个丢失的卷。如果.rev文件的数目少于丢失卷的
            数目，重建将不可能。普通和恢复卷的总数不能超过255。

            选项 <N> 参数指定创建恢复卷的数目，必须少于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,b]  详细列出压缩文件内容[技术信息]。文件列出所使用的格式:绝对路径名，文
            件注释，原始和压缩后的大小，压缩率，最近更新日期和时间，属性，CRC，
            压缩方式和解压所需的最小RAR版本。当使用't'修改时可选技术信息(主操作
            系统，固实标志和老的文件版本标记)显示。变量 'b' 强迫 RAR 只输出单纯
            的文件名，而没有其他任何的附加信息。

            列出所有压缩卷的内容，使用星号('*')代替压缩文件扩展名或使用'-v'
            开关。

            例子:

            写压缩文件内容列表(技术信息)到一个文件中

            rar vt bambam >bambam.lst


    x       带绝对路径解压

            例子:

            1) 列出 system.rar 压缩文件的内容 (技术模式)并使用重定向符输出
               到文件 techlist.lst 中

               rar vt system >techlist.lst

            2) 列出 tutorial.rar 压缩文件的内容 (单纯文件名模式)

               rar vb tutorial


    开关 (与命令结合使用):


    -?      显示命令和开关的帮助。和没有参数或输入非法命令行选项时相同。


    --      停止开关扫描

            这个开关告诉 RAR 没有命令行中没有更多的开关了。如果压缩文件或文
            件名以-符号开头，可以使用它。没有'--'开关，这样的名字将被作为开
            关对待。

            例子:

            从当前目录添加所有文件到固实压缩文件'-StrangeName'

            RAR a -s -- -StrangeName

    -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   - 分 (如果在小时后，被作为分钟对待)
            S   - 秒
            N   - 压缩文件数。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-WW-A backup

            5) 使用 YYYYMMDD 和压缩文件数。它允许你你在同一天使用 -agyymmdd-nn
               数次，每一个新的压缩文件名都将包含一个新的递增数字。

               rar a -agYYYYMMDD-NN backup


    -ao     添加带有存档属性的文件
            (只有 Windows 版本可用).

            例子:

            添加C:上所有带有存档属性的文件到'f:backup'，并清除文件存档属性

            rar a -r -ac -ao f:backup c:\*.*


    -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文件，所有其它
            文件将被从压缩文件中删除。它和创建新的压缩文件很相像，但是有一个
            重要的不同:如果最近备份之后没有文件被修改，这个操作执行得创建新
            的压缩文件快。


    -av     添加身份校验(只有注册版本可用)。RAR将在每次新建或更新压缩文件时
            添加关于创建者的信息、最后更新时间和压缩文件名。

            如果一个包含身份校验的压缩文件被修改，而没有指定这个开关，则身份
            校验信息将被删除。

            使用'-av'开关的压缩文件当解压、测试、列表或更新时，RAR 将进行完
            整性确认并显示信息:

              校验身份信息...

            在成功校验身份的情况下，显示消息'确定'，创建者的名字和最近更新
            信息会被显示。在身份校验失败的情况下，将显示'失败'。

            用户身份校验功能，'-av'，在软件发布环境中推荐使用。

            为了启用身份校验功能，程序必须注册。请联系你当地的发布点或网站发
            布中心。


    -av-    禁止检查或添加身份校验。


    -cfg-   禁止读取配置和环境变量。


    -cl     转换文件名成小写字母。


    -cu     转换文件名成大写字母。


    -c-     禁止显示注释。


    -df     压缩后删除文件

            移动文件到压缩文件中。这个开关与命令'A'组合执行和命令'M'时同一动作。
           

    -dh     打开共享文件

            允许处理有其它应用程序打开写的文件。

            如果应用程序允许对文件的读取访问，这个开关有效。但是如果文件的访
            问类型是私有，文件打开操作仍然会失败。

            这个选项很危险，因为它允许压缩一个文件，而同时正被其它应用程序修
            改，所以小心使用。


    -ds     添加到一个固实压缩文件是不排序。


    -ed     不添加空目录

            这个开关指出空目录不被存储到被创建的压缩文件中。


    -ee     不处理扩展属性

            禁止保存和修复扩展文件属性。只用于OS/2版本。


    -en     不添加"压缩文件结束"块

            默认情况下，RAR 在新建或更新压缩文件时在结束时添加 "压缩文件结
            束"块。它允许跳过象数字安全签名等扩展数据，但是在一些特定条件下
            禁用这些功能可能有用。例如，如果在一个压缩文件通过不可靠的连接在
            两个系统之间传递，并且同时发送者在它里面添加新文件时，它可能对确
            认在传输过程中已经接收的部分不会被另一端所修改很重要。

            这个开关不能用在分卷上，因为压缩文件结束块包含正确处理卷的重要信
            息。

    -ep     从名称中排除路径。包含此开关时，文件在加入压缩文件时不会包含路
            径信息。这可能会有在压缩文件中存在数个相同名称的结果。


    -ep1    根据名字删除底层目录。不存储在命令行中输入的路径。

            例子:

            tmp 目录中的所有文件和目录都将被添加到压缩文件'test'中，但是被压缩
            文件名路径不包含'tmp\'

            rar a -ep1 -r test tmp\*

            这等价于下列命令:

            cd tmp
            rar a -r ..\test
            cd ..


    -ep2    扩展路径成完全路径。压缩时存储文件的完全路径(除了盘符和根目录路
            径).
    

    -e<属性> 指定掩码属性排除文件。<属性> 是十进位，八进位(以 '0' 开头)或十
             六进位 (以 '0x' 开头) 的数字格式。如果对 <属性>和文件属性按位进
             行 AND 逻辑运算的结果不为 0，则文件将不会被加入到压缩文件中。

            在 Windows 版本中也可以使用D、S、H、A代替数字掩码符号表示目录和
            文件的系统，隐藏，存档和只读属性。给出的属性的顺序并不重要。


    -f      更新文件。可以在解压或创建压缩文件时使用。命令字符串"a -f"等价于
            命令'f'，你也可以和命令'm'或'mf'一起使用'-f' 。如果开关'-f'和命
            令'x'或'e'一起使用，则只有旧文件能被从压缩文件中解压的新版本替换。


    -hp[p]  加密文件数据和头。

            这个开关和 -p[p] 类似，但是开关 -p 只加密文件数据，而使文件名等
            其它信息可见。这个开关加密所有包括文件数据、文件名、大小、属性、
            注释和其它块等所有可感知压缩文件区域，所以它提供了更高的安全等
            级。在压缩文件中使用-hp 加密，没有密码甚至不可能查看文件列表.

            例子:

            rar a -hpfGzq5yKw secret report.txt

            将添加文件 report.txt 到加密的压缩文件secret.rar中，使用密码
            'fGzq5yKw'


    -idp    禁止百分比指示。

            可以在重新输出文件时使用。


    -ieml[.][地址]
            使用 E-mail发送压缩文件。只有 Win32 版本可用。

            附加一个使用添加命令创建或被更新的压缩文件到 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目录中创建。


    -inul   禁止所有消息。


    -ioff   在完成操作后关闭计算机。硬件必须支持断电功能。只有 Win32 版本可用。


    -isnd   允许声音。


    -k      锁定压缩文件. 任何试图改变压缩文件的命令都会被忽略。


    -kb     保留损坏的解压文件。

            RAR 默认解压后删除 CRC 错误的文件。开关 -kb 指定 CRC 错误的文件
            不会被删除。


    -m<n>   设置压缩模式:

       -m0   存储      添加到压缩文件是不压缩文件。
       -m1   最快      使用最块方式(低压缩)
       -m2   较快      使用块锁压缩方式
       -m3   标准      使用标准(默认)压缩方式
       -m4   较好      使用较好压缩方式(较好压缩，但是慢)
       -m5   最好      使用最大压缩方式(最好的压缩，但是最慢)

            如果没有指定这个开关，RAR使用-m3方式(标准压缩)。

            默认情况下，RAR 在 -m1 和 -m2 模式中只使用常规压缩算法，高级算法
            象声音和真彩处理只有在 -m3..-m5 模式下才启用，提升的文本压缩只有
            在 -m4..-m5 中才被激活。默认值可以使用 -mc 开关替代。


    -mc<参数>
            设置高级压缩参数。

            这个开关主要是用于进行测试和试验，在真实环境中通常最好允许 RAR 
            自动选择最佳参数。请注意，不适当的使用这些开关可能导致非常严重执
            行和压缩损失，所以只有在你清楚理解你所要做的时候使用它。

            它有下列语法:

            -mc[参数1][:参数2][模块][+ 或 -]

            <模块>的位置是指示压缩算法的一个字符，它必须被设置。

            它有下列值:

              A       - 声音压缩;
              C       - 真彩色(RGB)数据压缩;
              D       - 增值压缩;
              E       - 32-位 x86 Intel 可执行文件压缩;
              I       - 64-位 Intel Itanium 可执行文件压缩;
              T       - 文本压缩。

            在开关结尾的'+'标记应用选择的算法模块处理所有的数据，'-'完全禁用
            该模块。如果没有指定标记，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<n>  以<n>KB大小选择字典大小。必须是64,128,256,512,1024，2048或4096或
            单个字母 'a'，'b'，'c'，'d'，'e'，'f'，'g'。

            这个可变大小的字典是被压缩算法使用的专用的内存区域。如果被压缩文
            件的大小(或在一个固实压缩文件中的总文件大小)比压缩文件大许多，则
            通常增加字典大小会增加压缩率，减慢压缩速度和增加内存需要。

            如果字典比原数据大，RAR可以减少字典大小.它可以减少内存的需要而不
            会减小压缩比。

            默认可变字典大小是 4096 KB.

            例子:

            RAR a -s -mdd sources *.asm
                或者
            RAR a -s -md512 sources *.asm

            将使用512 KB字典创建固实压缩文件。


    -ms[列表]
            指定存储文件类型。

            指定不压缩而直接存贮的文件类型。这个开关被用来存储已经压缩的文件，
            这将帮助增加压缩速度，而不会显著的减小压缩率。

            可选参数 <列表> 参数定义使用分号隔开得文件扩展名列表。例如，
            -msrar;zip;jpg 将强制RAR不压缩直接存储所有的RAR和ZIP压缩文件和
            JPG 图像。它也允许在列表中指定通配符文件掩码，所以 -ms*.rar;
            *.zip;*.jpg 也可以工作。

            如果 <列表> 没有被指定，-ms 开关将使用默认的包含下列文件类型的扩
            展设置:

            ace, arj, bz2, cab, gz, jpeg, jpg, lha, lzh, mp3,
            rar, zip, taz, tgz, z


    -ol     把符号链接作为链接而不是文件。
            只有 Unix 版本可用。


    -os     保存 NTFS 流。 只有 Win32 版本可用。

            这个开关意味着只能在 Windows NT 的 NTFS 文件系统下使用，并允许储
            存与文件相关的交替数据流。在 Windows 2000 和 XP 底下尤其重要，可
            以用来保存某些文件依赖信息，如文件描述。如果您使用 RAR 来备份您的
            NTFS 磁盘时，建议您指定这个开关。


    -ow     当压缩时保存文件安全信息和解压时恢复它们时，使用这个开关。

            Unix 版本的 RAR 当使用这个开关时保存文件所有者和组。

            Win32 版本存储所有者、组、文件许可和校验信息，但是你必须有读取
            它们的必需的权限。 注意只有 NTFS 文件系统支持在Windows下的文件基
            本安全数据。

    -o+     覆盖已存在的文件。


    -o-     不覆盖已存在的文件。


    -p[p]   压缩时，使用字符串<p>作为密码加密文件。密码大小写敏感。如果你在
            命令行忽略密码，你会看到一个输入密码的提示。

            例子:

            rar a -pmyhoney secret1 *.txt

            添加 *.txt文件并用密码"myhoney"加密.


    -p-     不询问密码


    -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 将处理在子目录以及当前工
            作目录中所有压缩文件。


    -r0     和 -r 相似，但是当使用命令 'a'，'u'，'f'，'m' ，将返回包含包括通
            配符 '*' 和 '?'的子目录


    -ri<p>[:<s>]
            设置优先级和休眠时间。只有在 Windows 版本的  RAR 中可用。
            这个开关让 RAR 在多任务环境下时，用来控制系统载入负荷。可用任务
            优先级值从 0 到 15。当 <p> 等于 0 时，使用默认任务优先级。1 对应
            最低的任务优先权，15 - 最高。

            休眠时间 <s> 是从 0 到 1000  (千分之一秒)的值。这是 RAR 压缩或解
            压缩操作期间每次读或写时将会归还到系统的时段。休眠时间设定在几个
            相同优先级任务在系统中同时运行时有用。

            例子:

            使用默认优先级执行 RAR，并且每次读取或写入后有10 ms的休眠

            rar a -r -sfx -ri0:10 backup *.*


    -rr[N]  添加数据恢复记录。这个开关在创建或修改压缩文件被用来添加压缩文件
            数据的恢复记录。


    -rv[N]  创建恢复卷。这个开关在创建多卷压缩文件时用来创建恢复卷。查看
            'rv[N]'命令的详细描述。


    -s      创建固实压缩文件。固实格式是一种特别的压缩文件类型。请参考附录中的"术
            语表"获得更多信息。

            例子:

            使用512KB的字典创建固实压缩文件 sources.rar ，包含全部子目录，从
            当前目录开始，只添加.asm文件:

            rar a -s -md512 sources.rar *.asm -r


    -s<N>   根据文件计数创建固实组

            和 -s 相似，但是在压缩<N>文件后重置压缩文件的状态。通常减少压缩率，
            但是也能减少损坏的固实压缩文件中的文件丢失。

    -se     根据扩展名创建固实组

            和 -s 相似，但是如果文件扩展名改变，重置压缩文件的状态。通常减少压缩
            率，但是也能减少损坏的固实压缩文件中的文件丢失。


    -sv     创建互不依赖的固实压缩文件

            当开始一个新的卷时，RAR 默认尽可能的尝试重固实格式状态，但是只有
            在上一次复位后，又压缩了足够多的数据。(至少几兆字节)。

            这个开关会强制 RAR 忽略打包的数据大小，并试图对任何大小的分卷重置
            状态。这会降低压缩率，但在固实卷组中的卷丢失或损坏时可以增加解压
            部分数据的机会。

            注意有时候 RAR 即使使用这个开关也无法重置状态。例如，当压缩一个
            大文件成许多分割卷时就不能完成。RAR 只能在分离文件之间重置状态，
            而不能用在单独文件上。

            如果用来创建不带卷的压缩文件时忽略。


    -sv-    创建互相依赖的固实压缩文件

            禁止卷之间重设固实状态。

            这将稍微提高压缩率，但是意味着如果固实卷丢失或损坏时减少解压部分
            数据的机会。

            如果使用非分卷压缩文件时它将被忽略。


    -s-     禁止固实压缩


    -sfx[文件名]
            创建自解压压缩文件。如果建立新压缩文件时使用此开关，自解压文件文
            件(使用 default.sfx 模块或在开关中指定)将被创建。在 Windows 版本
            中，default.sfx 应该在 rar.exe 所在的目录中，在 Unix 中 - 在用户
            的 home 目录中。在/usr/lib or /usr/local/lib中。

            例子:

            rar a -sfxwincon.sfx myinst

            使用wincon.sfx自解压模块创建自解压(SFX)压缩文件。


    -t      压缩后测试文件。这个开关在和移动命令组合使用时非常有用，所以只有
            压缩文件已经被成功测试后，文件才会被删除。


    -ta<日期>
            只处理指定日期之后修改的文件。

            日期字符串的格式是 YYYYMMDDHHMMSS。它允许在日期字符串中插入'-' 
            或 ':'的分隔符，并忽略后部区域。例如，下列开关是正确的:
            -ta2001-11-20在内部它被转换成 -ta20011120000000 并作为"从2001
            年11月20日0时0分0秒后修改的区域"对待。



    -tb<日期>
            只处理指定日期之前修改的文件。开关的格式和 -ta<日期> 相同。


    -tk     保存原始压缩文件日期。防止当正在改变一个压缩文件时RAR修改文件。


    -tl     设置压缩文件的日期为最新文件的日期。强制RAR设置改变的压缩文件的日
            期为压缩文件中最新文件的日期。


    -tn<时间>
            处理指定时间以后的新文件。时间字符串格式时:

            [<ndays>d][<nhours>h][<nminutes>m][<nseconds>s]

            例如，使用开关 -tn15d 来处理更新了15天的文件，-tn2h30m 来处理更
            新了2小时30小的文件。


    -to<时间>
            处理指定时间以前的旧文件。开关的格式和 -tn<时间> 相同。


    -ts<m,c,a>[N]
            保存或恢复文件时间(修改，创建，访问)。

            开关 -tsm 指示 RAR 保存文件的修改时间，-tsc - 创建时间，tsa - 最
            近访问时间。开关后的可选参数是 0 和 4 之间的数字来控制文件时间精
            度。值‘1’启用 1 秒的精确度，2 - 0.0065536 秒, 3 - 0.0000256，4 
            或‘+’启用最大的 NTFS 时间精度，等于 0.0000001 秒。值‘0’或‘-’
            意味着创建和访问时间不保存，并且修改时间使用低的(两秒)时间精度。更
            高的精度模式添加更多的数据到压缩文件中，使用 -tsm4 -tsa4 -tsc4 组
            合，让每个文件增加 19 个额外的字节。如果没有制定精度，RAR 使用
           ‘4’(高)值。

            默认的 RAR 模式是 -tsm4 -tsc0 -tsa0，所以高精度的修改时间被存储，
            其它时间被忽略。 

            当解压文件(精度不相关，但是必须是 0)时指定 -tsc 和 -tsa 开关来设置
            创建和访问时间是必需的。默认 RAR 只设置修改时间，即使压缩文件包含
            创建和最近修改时间。设置修改时间来解压文件也可以使用 -tsm- 禁用。

            如果你需要把这个开关应用到所有的三个时间，也可能忽略这三个类型字母。
            例如，-tsm4 -tsa4 -tsc4 能被 -ts4, -ts+ 或 -ts 代替。使用 -ts- 来只
            保存低精度的修改时间，或者忽略所有三个文件时间解压。

            当创建一个压缩文件时，如果高的模式不被文件系统支持，RAR 会自动减少
            精度。在 FAT 中不会超过两秒，在 Unix 中不会超过 1 秒。NTFS 时间精
            度是 0.0000001 秒。

            操作系统的时间限制解压时能被设置。Windows 允许设置三个时间，Unix -
            修改时间和最近访问时间，没有创建时间，DOS 只支持修改时间。

            例子:

            1) rar a -ts backup

            使用最高精确度存储所有文件时间。

            2) rar x -tsa backup

            存储修改和最近访问时间。开关 -tsm 不是不必需的，因为 RAR 默认使
            用它。

            3) rar a -tsm1 -tsc1 backup

            存储地精确度的修改和创建时间。没有 -tsm1 RAR 不会保存高精确的的
            修改时间。


    -u      更新文件。 这可在解压或创建压缩文件时使合用。命令字符串 'a -u' 和
            命令 'u'等效。您也可以使用开关'-u'和命令'm'和'mf'一起使用。如果开
            关'-u'使用与命令'x'或'e'一起使用，则在磁盘上不存在的文件和比在磁
            盘上的拷贝新的文件将从压缩文件中解压。


    -v      创建自动检测大小的卷或列出所有的卷

            当正在创建或正在列表卷时这个开关可以使用。

            在第一种情况下，它启用卷的自动大小检测，所以新的卷将使用目标媒体
            上的所有可用空间。当在可移动磁盘上创建卷时非常便利。你可以在
            -v<大小> 的描述中读到更多关于卷的信息。

            在第二种情况下，在命令行中当这个开关和'V' 或 'L'命令一起使用，它
            强迫 RAR 列出从指定卷开始的所有卷的内容。没有这个开关，RAR 只显
            示单独的被指定卷的内容。


    -v<大小>[k|b|f|m|M]
            建立卷，大小=<大小>*1000 [*1024 | *1]。
            默认此开关使用 <大小> 作为一千(1000)字节(非1024 字节)。您也可以
            输入符号 "k" 来表示千字节(1024)的大小，或者符号 "b" 表示字节，兆
            字节(1024 x 1024)为 -"m"，而一百万个字节是 - "M"，或者使用符号
            "f" 从几个预先定义的数值中选择一个。 预先定义的数值有 360、720、
            1200、1440 或 2880 并会使用当前软盘大小取代。

            如果大小被忽略，将使用自动检测。

            如果在可移动磁盘上创建卷，第一卷被创建后，用户将被提示:

              创建下一卷: 是/否/全部

            此时，您可以改变磁盘。回答'A'件使所有的卷不暂停地被创建。

            默认 RAR 卷以'volname.partNNN.rar'格式命名，NNN的地方是卷号。使
            用-vn开关可能转换成其它的扩展基本命名规则，卷组中第一卷文件由.rar
            的扩展名，以后卷从 .r00 到 .r99 命名。

            当解压或测试多卷压缩文件时，你必须只使用第一卷的文件名。如果在驱
            动器中没有下一卷并且磁盘可移动，用户会被提示:

             插入磁盘带有 <下一卷名>

            插入带有正确卷的磁盘并按任意键。

            如果在解压过程中，下一卷没有找到或卷放在不可移动磁盘上，RAR 将显
            示下列信息后中断:

             没有找到 <卷名>

            压缩卷不可以被修改。命令'd'，'f'，'u'，'s' 不能在多卷组中时使用。
            命令'a'只可以用在创建新的多卷序列时。

            也许，虽然不太可能，多卷组中文件大小可能比未压缩时大，原因是'存
            储'特征(如果大小增加时不压缩)在多卷组中不能启用。

            压缩卷可以是自解压格式，这样的压缩文件可使用 '-v' 或 '-sfx'开关
            创建。

            例子:

            创建固实大小卷的压缩文件:

            rar a -s -v1440 floparch.rar *.*

            将创建固实的1440000字节大小的卷。


    -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' 将只解压第五版本文件。


    -vn     使用旧风格的卷命名法则

            默认 RAR 卷以'volname.partNNN.rar'格式命名，NNN的地方是卷号。使
            用-vn开关可能转换成其它的扩展基本命名规则，卷组中第一卷文件由
            .rar 的扩展名，以后卷从 .r00 到 .r99 命名。它可能有用，如果你要在
            MS DOS下解压一个压缩文件时，不允许在文件名中超过一个点'.'。


    -vp     每一卷后暂停

            当使用移动驱动器创建或解压下一卷前，RAR 默认进行询问时是强制进行
            这样的询问。如果磁盘空间有限而且你希望创建后立即复制每一卷到其它
            磁盘中时，可以使用它。


    -w<p>   把<p>作为工作目录。这个开关可以用来分配临时文件工作目录。


    -x<f>   解压指定的文件 <f>，通配符可以用在名称和文件掩码的文件部分。你可
            以数次指定开关'-x':

            例子:

            1) rar a -r -x*.bak -x*.rar rawfiles

            *.bak 和 *.rar 不会添加到 rawfiles 中

            2) rar a -r -x*\temp\* savec c:\*

            压缩 C: 上除了 Temp 文件夹外的所有文件


    -x@<lf> 利用指定文件列表排除文件。

            例子：

            rar a -x@exlist.txt arch *.exe


    -y      对于所有询问全部回答是。


    -z<f>   从文件<f>中读取压缩文件注释 .


 限制
 ~~~~

    路径名长度小于 259 个字符。

    最大的压缩文件注释的长度是62000字节。

    命令限制:

    命令 'd','u','f','c','cf' 不能用于压缩文件卷。

    命令 'a' 不能用来更新压缩文件卷，只能用来创建。


 返回值
 ~~~~~~

    RAR 成功操作后返回 0 。非 0 返回码意味着操作由于某种错误被取消:

     255   用会中断         用户中断操作

       9   创建错误         创建文件错误

       8   内存错误         没有足够的内存进行操作

       7   用户错误         命令行选项错误

       6   打开错误         打开文件错误

       5   写错误           写入磁盘错误

       4   被锁定压缩文件   试图修改先前使用 'k' 命令锁定的压缩文件

       3   CRC 错误         解压缩时发生一个 CRC 错误

       2   致命错误         发生一个致命错误

       1   警告             没有发生致命错误

       0   成功             操作成功 (用户退出)


 术语表
 ~~~~~~

    压缩文件     包含一个或一个以上文件的压缩和/或加密的特定文件。

    压缩         减少数据大小的编码方法。

    CRC          循环冗余检查。为了验证数据正确性检查特定信息的数学计算方法。

    SFX          压缩文件模块执行时用于解压文件(自解压文件模块)，通常是一个
                 .EXE格式文件。

    固实         对压缩文件使用专用的压缩方式(把所有文件看成一个连续的数据
                 流)打包。当压缩大量小文件特别有利。

    卷           压缩文件的拆分部分。把一个压缩文件拆分成存储在磁盘上。固实
                 格式卷解压时必须从序列中的第一个开始。



  版权所有

    (c) 1993-2002 Eugene Roshal



