rar命令行参考
2009-06-03 21:10:03 Administrator

WinRAR是目前个人电脑上使用较为普遍的打包压缩工具,在linux上提供了免费的解压程序(unrar)。与7zip一样,在跨平台使用时对中文支持友好,但后者是开源软件,前者是收费软件。本文将介绍其在命令行的用法及参考。

用法: rar [命令] -[开关 1] -[开关 N] [压缩文件] [文件...] [@列表文件...] [解压路径\]

指令参数

[命令]
  a 添加文件到压缩文件
  c 添加压缩文件注释
  cf  添加文件注释
  ch  改变压缩文件参数
  cw  写入压缩文件注释到文件
  d 删除压缩文件中的文件
  e 解压压缩文件到当前目录
  f 刷新压缩文件中的文件
  i[参数]=[串]  在压缩文件中查找字符串
  k 锁定压缩文件
  l[t,b] 列出压缩文件[技术信息,简洁]
  m[f]  移动到压缩文件[仅对文件]
  p 打印文件到标准输出设备
  r 修复压缩文件
  rc  重建丢失的卷
  rn  重命名压缩文件
  rr[N]  添加数据恢复记录
  rv[N]  创建恢复卷
  s[名字|-]   转换压缩文件为自解压格式或转换回压缩文件
  t 测试压缩文件
  u 更新压缩文件中的文件
  v[t,b] 详细列出压缩文件[技术信息,简洁]
  x 用绝对路径解压文件

[开关]
  - 停止扫描
  ac  压缩或解压后清除存档属性
  ad  添加压缩文件名到目标路径
  ag[格式] 使用当前日期生成压缩文件名
  ao  添加具有压缩属性的文件
  ap[格式] 添加路径到压缩文件中
  as  同步压缩文件内容
  av  添加用户身份校验(仅注册版本可用)
  av- 禁用用户身份校验
  c-  禁用注释显示
  cfg-  禁用读取配置
  cl  名称转换为小写
  cu  名称转换为大写
  df  压缩后删除文件
  dh  打开共享文件
  ds  对固实压缩文件禁用名称排序
  e[+][属性]  设置文件排除和包括属性
  ed  不添加空目录
  en  不添加"压缩文件结束"标志
  ep  从名称中排除路径
  ep1 从名称中排除基本目录
  ep2 展开为完整路径
  ep3 扩展路径为包含盘符的完全路径
  f 刷新文件
  fcu[文件]   从 Unicode 文件读取压缩文件注释
  hp[密码] 同时加密文件数据和文件头
  id[c,d,p,q] 禁用消息
  ieml[属性]  用 E-mail 发送压缩文件
  ierr  发送所有消息到标准错误设备
  ilog[名称]  把错误写到日志文件(只有注册版本可用)
  inul  禁用所有消息
  ioff  完成一个操作后关闭 PC 电源
  isnd  启用声音
  k 锁定压缩文件
  kb  保留损坏的已解压文件
  m[0..5]  设置压缩级别(0-存储...3-默认...5-最大)
  mc[参数] 设置高级压缩参数
  md[大小] 以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
  ms[ext;ext] 指定存储的文件类型
  mt[线程] 设置线程数
  n[文件]  仅包含指定的文件
  n@  从标准输入设备读取文件名到包括
  n@[列表] 在指定的文件列表包括文件
  o+  覆盖已存在文件
  o-  不覆盖已存在文件
  oc  设置 NTFS 压缩属性
  or  自动重命名文件
  os  保存 NTFS 流
  ow  保存或恢复文件所有者和组
  p[密码]  设置密码
  p-  不询问密码
  r 递归子目录
  r0  仅递归通配符名称的子目录
  ri[P][:[S]] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间
  rr[N]  添加数据恢复记录
  rv[N]  创建恢复卷
  s[[N],v[-],e] 创建固实压缩文件
  s-  禁用固实压缩文件
  sfx[名称]   创建自解压压缩文件
  st[名称] 从标准输入设备读取数据(stdin)
  sl[大小] 处理小于指定大小的文件
  sm[大小] 处理超过指定大小的文件
  t 压缩后测试文件
  ta[日期] 添加日期 [日期] 后修改的文件,日期格式 YYYYMMDDHHMMSS
  tb[日期] 添加日期 [日期] 前修改的文件,日期格式 YYYYMMDDHHMMSS
  tk  保留原始压缩文件时间
  tl  设置压缩文件时间为最新文件时间
  tn[时间] 添加 [时间] 以后的文件
  to[时间] 添加 [时间] 以前的文件
  ts[m,c,a][N]  保存或恢复文件时间(修改,创建,访问)
  u 更新文件
  v 自动检测创建卷的大小或者列出所有的卷
  v[大小][k,b]  创建卷大小=[大小]*1000 [*1024, *1]
  vd  创建容量前清除磁盘内容
  ver[n] 文件版本控制
  vn  使用旧风格的卷命名方案
  vp  每卷之前暂停
  w[路径]  指定工作目录
  x[文件]  排除指定的文件
  x@  从标准输入设备读取要排除的文件名
  x@[列表] 排除指定列表文件中的文件
  y 假设对全部询问都回答是
  z[文件]  从文件读取压缩文件注释

最常用的用法参考

列出该rar文件所包含的文件列表(linux下使用unrar)
$ unrar l 连环画.飞狐外传.5册.rar

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal

《飞狐外传》是金庸于1960年所写的武侠小说,为其第六部武侠小说,可以看做是《雪山飞狐》的前传。该书现收录在《金庸作品集》中。该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。历史背景是清乾隆年间。
该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。以主人公胡斐除暴安良为故事的中心,讲述了胡斐为追杀凤天南在路上所发生的一切,特别是主人公与两位女性程灵素、袁紫衣所发生的恋爱关系,让人觉得惋惜与无奈。

Archive 连环画.飞狐外传.5册.rar

Comment: 《飞狐外传》是金庸于1960年所写的武侠小说,为其第六部武侠小说,可以看做是《雪山飞狐》的前传。该书现收录在《金庸作品集》中。该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。历史背景是清乾隆年间。
该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。以主人公胡斐除暴安良为故事的中心,讲述了胡斐为追杀凤天南在路上所发生的一切,特别是主人公与两位女性程灵素、袁紫衣所发生的恋爱关系,让人觉得惋惜与无奈。

 Name             Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
-------------------------------------------------------------------------------
 01商家堡遇劫.pdf 19060868 12258407  64% 10-08-11 15:41  .....A.   6ABBFF14 m3g 2.9
 03血印石.pdf 22809571 14823841  64% 10-08-11 15:46  .....A.   45203832 m3g 2.9
 04龙潭虎穴.pdf 26436300 16803476  63% 10-08-11 15:48  .....A.   C7A6ADD3 m3g 2.9
 05大闹福帅府.pdf 28358987 18548390  65% 10-08-11 15:55  .....A.   8D961842 m3g 2.9
 飞狐外传02.pdf 25462955 15735089  61% 10-08-11 14:30  .....A.   85D5F160 m3g 2.9
 连环画_飞狐外传(5册)        0        0   0% 10-08-11 15:56  .D.....   00000000 m0  2.0
-------------------------------------------------------------------------------
    6        122128681 78169203  64%

$ unrar v 连环画.飞狐外传.5册.rar

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal

《飞狐外传》是金庸于1960年所写的武侠小说,为其第六部武侠小说,可以看做是《雪山飞狐》的前传。该书现收录在《金庸作品集》中。该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。历史背景是清乾隆年间。
该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。以主人公胡斐除暴安良为故事的中心,讲述了胡斐为追杀凤天南在路上所发生的一切,特别是主人公与两位女性程灵素、袁紫衣所发生的恋爱关系,让人觉得惋惜与无奈。

Archive 连环画.飞狐外传.5册.rar

Comment: 《飞狐外传》是金庸于1960年所写的武侠小说,为其第六部武侠小说,可以看做是《雪山飞狐》的前传。该书现收录在《金庸作品集》中。该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。历史背景是清乾隆年间。
该书主要是讲述《雪山飞狐》主人公胡斐的成长历程。以主人公胡斐除暴安良为故事的中心,讲述了胡斐为追杀凤天南在路上所发生的一切,特别是主人公与两位女性程灵素、袁紫衣所发生的恋爱关系,让人觉得惋惜与无奈。

Pathname/Comment
                  Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
-------------------------------------------------------------------------------
 连环画_飞狐外传(5册)/01商家堡遇劫.pdf
              19060868 12258407  64% 10-08-11 15:41  .....A.   6ABBFF14 m3g 2.9
 连环画_飞狐外传(5册)/03血印石.pdf
              22809571 14823841  64% 10-08-11 15:46  .....A.   45203832 m3g 2.9
 连环画_飞狐外传(5册)/04龙潭虎穴.pdf
              26436300 16803476  63% 10-08-11 15:48  .....A.   C7A6ADD3 m3g 2.9
 连环画_飞狐外传(5册)/05大闹福帅府.pdf
              28358987 18548390  65% 10-08-11 15:55  .....A.   8D961842 m3g 2.9
 连环画_飞狐外传(5册)/飞狐外传02.pdf
              25462955 15735089  61% 10-08-11 14:30  .....A.   85D5F160 m3g 2.9
 连环画_飞狐外传(5册)
                     0        0   0% 10-08-11 15:56  .D.....   00000000 m0  2.0
-------------------------------------------------------------------------------
    6        122128681 78169203  64%

与'l'配合的有[t,b]这两个参数,分别表示:[technical, bare],技术性的分析和简洁模式。

使用'v'可以得到与'l'相似的结果,不过要详细些,前者(v)还可以看出该压缩包解开后出来的是目录还是文件列表。使用'-ad'选项可自动创建与文件压缩包同名的目录来存放文件,而不会将文件在目标里解压的到处都是。但不知为什么会把包的注释输出两份,如果不想为注释,可使用(-c-)的开关指令来关闭。

退出码


WinRAR 在成功操作的情况下以 0 代码退出,非零退出代码表示下列错误:
代码值 描述
0 成功操作。
1 警告。发生非致命错误。
2 发生致命错误。
3 解压时发生 CRC 错误。
4 尝试修改一个锁定的压缩文件。
5 写错误。
6 文件打开错误。
7 错误命令行选项。
8 内存不足。
9 文件创建错误。
255 用户中断。

命令行使用

语法:RAR [命令]  [ -[开关] ]  [压缩文件]  [ [@列表文件...] ] [ [文件...] ]  [ [解压路径\]  ]

描述:命令行选项 (命令和开关) 提供了使用RAR 创建和管理压缩文件的控制方法。命令是一个字符串(或单个的字母),命令RAR去执行一个相应的操作。开关被用来改变RAR执行操作的方法。其它参数是压缩文件名和被压缩的文件或要从压缩文件中被解压文件。列表文件是一个包括处理的文件名的纯文本文件。第一列应该以文件名开始。可以在//字符后添加注释。例如,你可以创建包含下列字符串的backup.lst:  
  d:\work\doc\*.txt  //备份文本文档  
  d:\work\image\*.bmp   //备份图片
  d:\work\misc  
接着运行:  rar a backup @backup.lst  

如果你希望从标准输入设备读取文件名,指定空的文件列表名(只有@)。在列表文件中 Win32控制台RAR使用OEM (DOS) 编码。你可以在同一命令行指定普通文件名和列表文件。如果文件和列表文件都未被指定,那么RAR将默认是 *.*,来处理所有文件。在一个UNIX环境变量中,你需要将通配符置于引号中,避免被外壳扩展。例如,这个命令将从当前路径中的 RAR 压缩文件解压所有的*.asm文件: rare'*.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搜索要生成的名字的文件是否存在,如果发现它已经存在,将递增一个压缩文件数字,直到生成一个唯一的名字。如果在格式化字符串的第一个字符是'+',日期字符串和基本压缩文件名位置交换,所以日期将在压缩文件名之前。格式字符串可以包含在'{'和'}'包含的可选字符。此文本插入到压缩文件名中。所有其它字符被不变地添加到文件名上。如果你需要更新已经存在的压缩文件,小心使用-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
  -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- 忽略配置文件和RAR 环境变量。  
  -cl 转换文件名成小写字母。  
  -cu 转换文件名成大写字母。  
  -c- 禁止显示注释。
  -df 压缩后删除文件
移动文件到压缩文件中。这个开关与命令'A'组合执行和命令'M'时同一动作。
  -dh 打开共享文件,允许处理有其它应用程序打开写的文件。如果应用程序允许对文件的读取访问,这个开关有效。但是如果文件的访问类型是私有,文件打开操作仍然会失败。这个选项很危险,因为它允许压缩一个文件,而同时正被其它应用程序修 改,所以小心使用。  
  -ds 添加到一个固实压缩文件是不排序。  
  -ed 不添加空目录,这个开关指出空目录不被存储到被创建的压缩文件中。当解压这样一个压缩文件时, RAR会基于他们内部的文件路径创建非空的目录。关于空目录的信息丢失。非空目录除了名字外(访问权限、 流 、等。)其他所有属性全部丢失,所以只有在你不需要保留这样的信息时使用此开关。
  -ee 不处理扩展属性,禁止保存和修复扩展文件属性。只用于OS/2版本。  
  -en 不添加"压缩文件结束"块,默认情况下,RAR在新建或更新压缩文件时在结束时添加"压缩文件结束"块。它允许跳过象数字安全签名等扩展数据,但是在一些特定条件下禁用这些功能可能有用。例如如果在一个压缩文件通过不可靠的连接在两个系统之间传递,并且同时发送者在它里面添加新文件时,它可能对确认在传输过程中已经接收的部分不会被另一端所修改很重要。这个开关不能用在分卷上,因为压缩文件结束块包含正确处理卷的重要信息。


Linux下rar文件的压缩与解压


.rar是在Windows中最常见的压缩文件格式,在Linux中如需使用需要安装rarlinux,可从官方下载
tar -xvzf rarlinux-x64-5.4.0.tar.gz
cd rar
make && make install

或者使用RPM安装UNRAR,下载地址

安装完成后即可使用rar和unrar命令。简单用法:
rar a all *.jpg #该命令是将所有.jpg的文件压缩成一个rar包,名为rar,该程序会将.rar 扩展名将自动附加到包名后。
unrar e all.rar #该命令是将rar中的所有文件解压出来。

$ rar --help
用法: rar <命令> -<选项 1> -<选项 N> <压缩档案> <文件...> <@文件列表...> <解压缩路径\>

<命令>
a 添加文件到压缩档案
c 添加压缩档案注释(注释的大小最大不能超过62000字节)
cf 添加文件备注( 当使用'v'参数时显示文件备注,最大不能超过32767字节)
ch 改变压缩档案参数
cw 向指定文件写入档案备注
d 从档案中删除文件
e 解压缩文件到当前目录(不创建任何子目录)
f 刷新档案中的文件(更新这些文件自它们被打包之后产生的变化,不在压缩档案中增加新的)
i[par]=<str> 在档案中查找特定字符
k 锁定档案(任何试图改变压缩档案中内容的命令都会被忽略)
l[t,b] 列出档案[technical, bare]
m[f] 移动到压缩档案中[只针对文件]
p 打印文件到标准输出
r 修补压缩档案
rc 重建丢失的分卷
rn 重命名压缩档案中的文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[name|-] 压缩档案与SFX(自解压文档)之间的转换
t 测试压缩档案文件
u 更新压缩档案中的文件
v[t,b] 列出压缩档案的详细信息[technical,bare]
x 解压缩到完整路径

<选项>
- 停止对选项的扫描
ad 追加档案名称到目标路径
ag[format] 使用当前数据生成压缩档案名
ap<path> 在档案内部设置路径
as 同步档案内目录
av 设置认证检测(只有注册版提供此功能)
av- 关闭认证检测
c- 关闭备注显示
cfg- 关闭读取设置
cl 转换名称为小写字母
cu 转换名称为大写字母
df 压缩后删除原文件
dh 打开共享文件
ds 关闭针对于稳固档案的名称排序
dw 压缩后擦除文件
e[+]<attr> 设置文件排除与包含属性
ed 不添加空目录
en 不设置档案结束块
ep 名称中不包含路径
ep1 名称中不包含基本文件目录
ep3 展开路径到完整包含的驱动器名
f 刷新文件
hp[password] 加密文件数据和文件头部
id[c,d,p,q] 关闭消息
ierr 发送所有消息到标准错误输出
ilog[name] 记录错误日志到文件中(只有注册版提供此功能)
inul 关闭所有消息
isnd 打开声音
k 锁定压缩档案
kb 保持被解压过的已损坏的文件
m<0..5> 设置压缩等级(0-存储...3-默认...5-最大)
mc<par> 设置高级压缩参数
md<size> Dictionary size in KB (64,128,256,512,1024,2048,4096 or A-G)
ms[ext;ext] 存储指定的文件类型
n<file> 仅包含指定的文件
n@ 从标准输入读取文件名到包含内容中
n@<list> 在指定列表文件中包含文件
o[+|-] 设置重写模式
ol 替文件保存符号连接作为连接
or 自动重命名文件
ow 保存活存储文件的拥有者与群组
p[password] 设置密码
p- 不询问密码
r 对子目录进行递归操作
r0 仅用通配符名称对子目录进行递归操作
rr[N] 添加数据恢复记录
rv[N] 创建恢复
s[<N>,v[-],e] 创建稳固档案压缩
s- 关闭稳固档案压缩
sc<chr>[obj] 设置指定的字符串
sfx[name] 创建SFX档案
si[name] 从标准输入读取数据
sl<size> 处理文件的大小小于指定的值
sm<size> 处理文件的大小大于指定的值
t 压缩后测试文件
ta<date> 处理修改日期为指定日期之后的文件,<date>格式: YYYYMMDDHHMMSS
tb<date> 处理修改日期为指定日期之前的文件,<date>格式: YYYYMMDDHHMMSS
tk 保持档案最初的时间
tl 设置档案时间为据现在最近的文件时间
tn<time> 处理比指定时间新的文件
to<time> 处理比指定时间旧的文件
ts<m,c,a>[N] 保存或存储文件时间(修改,创建,访问)
u 更新文件
v 创建自动大小的卷或列出所有卷
v<size>[k,b] 创建指定大小的卷size=<size>*1000 [*1024, *1]
ver[n] 文件版本控制
vn 使用旧的卷命名体系
vp 在每个卷之前暂停
w<path> 指定工作目录
x<file> 排除指定文件
x@ 排除从标准输入中读取的文件名称
x@<list> 从指定列表文件中指定要排除的文件
y 设定所有回答为yes
z[file] 从文件中读取压缩档案的备注

注意:rar的<命令>部分不带'-'号,只有<选项>部分带'-'号,这点要注意一下。

例1:添加文件或目录到压缩档案中,使用a命令。

例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到abc.rar档案中保持原有的file1文件不变,m命令移动file1文件到file1.rar档案中(压缩完成后会删除原有的file1文件,注意:m命令只针对文件进行操作)
rar a abc.rar file1

说明:如果此时abc.rar档案不存在,会自行创建abc.rar文档案,如果abc.rar档案已经存在,则将file1文件压缩进abc.rar档案中,若abc.rar档案中已存在一个file1文件,则会更新file1文件。并且原有的file1文件依然存在于当前目录下,若要将file1文件移动到file1.rar中请使用m命令,对于目录同样可以进行此操作。

注意:如果只输入”rar a file1.rar”命令,而没有接文件名或目录名的话,会将当前目录下所有的文件和文件夹压缩进file1.rar文档中。这点要注意一下。

例2:解压缩abc.rar档案中的内容

可以使用e或x命令,假设abc.rar目录中有一个名为file1的文件和一个名为test的目录,test目录中有一个名为file2的文件
rar e abc.rar

说明:使用e命令,会将abc.rar中的file1文件连同test目录下的file2文件解压到当前目录。如果想保持abc.rar目录中的目录结构请使用x命令
rar x abc.rar

说明:此时会将file1文件和test目录解压到当前文件夹。

例3:为整个压缩文件添加注释
rar c abc.rar

说明:输入该命令后,屏幕最下方会显示
Processing archive test.
rarReading comment from stdin

并有一个光标在闪烁,从光标闪烁的位置输入注释信息,输入完了按下Ctrl+D结束输入

例4:为压缩文件中的单个文件添加注释,使用cf命令。

假如现在要为abc.rar档案中的file1文件添加注释
rar ch abc.rar file1

此时屏幕最下方会显示
Reading comment for abc.rar : file1 from stdin

从光标闪烁出输入想要为file1添加的注释,Ctrl+D结束输入

例5:把整个档案的注释写入到一个文件中,使用cw命令。

加入要将abc.rar的注释写入到test.txt文件中
rar cw abc.rar test.txt

说明:如果当前目录下不存在名为test.txt的文件,则会自行创建一个名为test.txt的文件,并将abc.rar的注释写入到text.txt文件中,如果当前目录中已经存在一个名为text.txt的文件,则会提示你是否覆盖已经存在的文件,如果选择Yes或者All,则会清空test.txt中原有的内容,然后将abc.rar的注释内容写入到text.txt文件中。

例6:删除压缩档案中的文件或目录,使用d命令。

例如要删除abc.rar档案中的file1文件。
rar d abc.rar file1

说明:该命令删除abc.rar档案中的file1文件,对于目录同样有效。

以上为常用的压缩与解压缩命令,<选项>部分的使用不再进行介绍了,请大家自己尝试一下吧。

解压缩命令unrar的使用:
$unrar --help
用法: unrar <command> -<switch 1> -<switch N> <archive> <files...>
<@listfiles...> <path_to_extract\>
<命令>
e 解压文件到当前目录
l[t,b] 列出压缩文档信息[technical, bare]
p 打印文件到标准输出
t 测试压缩我俄当
v[t,b] 列出压缩文档的详细信息[technical,bare]
x 解压文件到完整路径
以下为<选项>部分,略去。

unrar的命令和rar具有同样的效果,可以看出unrar只包含了rar的一部分命令而已,因此使用rar就可以完成所有操作。



该文章最后由 阿炯 于 2021-06-05 22:04:41 更新,目前是第 4 版。