武汉大学自主科研项目:在DOS下怎么样运行ZIP文件么?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 18:50:22

用winrar里面的rar.exe

RAR 命令行语法
~~~~~~~~~~~~~~

语法

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

描述

命令行选项 (命令和开关) 提供了使用 RAR 创建和管理压缩文件的控制方法。命
令是一个字符串(或单个的字母),命令 RAR 去执行一个相应的操作。开关被用来
改变 RAR 执行操作的方法。其它参数是压缩文件名和被压缩的文件或要从压缩文件
中被解压文件。

列表文件是一个包括处理的文件名的纯文本文件。第一列应该以文件名开始。可以
在//字符后添加注释。例如,你可以创建包含下列字符串的 backup.lst:

c:\work\doc\*.txt //备份文本文档
c:\work\image\*.bmp //备份图片
c:\work\misc

接着运行:

rar a backup @backup.lst

如果你希望从标准输入设备读取文件名,指定空的文件列表名(只有@)。

在列表文件中 Win32 控制台 RAR 使用 OEM (DOS) 编码。

你可以在同一命令行指定普通文件名和列表文件。如果文件和列表
文件都未被指定,那么 RAR 将默认是 *.*,来处理所有文件

在一个 UNIX 环境变量中,你需要将通配符置于引号中,避免被外壳扩展。例如,
这个命令将从当前路径中的 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'
开关。

例子:

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

rar vt system >techlist.lst

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

rar vb tutorial

x 带绝对路径解压

例子:

rar x -av- -c- dime 10cents.txt

解压指定的文件到当前路径。AV 检查和注释显示被禁用。

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

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

-- 停止开关扫描

这个开关告诉 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 搜索要生成的名字的文件是否存在,如果发现
它已经存在,将递增一个压缩文件数字,直到生成一个唯一的名字。

上面列出的每个字符串仅表示添加到压缩文件名中的一个字符。例如,
使用 WW 表示 2 数字的星期或 YYYY 定义 4 数字的年。

如果在格式化字符串的第一个字符是'+',日期字符串和基本压缩文件名
位置交换,所以日期将在压缩文件名之前。

格式化字符串可以包含在 '{' 和 '}' 包含的可选字符。此文本插入到压
缩文件名中。

所有其它字符被不变地添加到文件名上。

如果你需要更新已经存在的压缩文件,小心使用 -ag 开关。依赖于以前
使用的 -ag 传送的格式化字符串和时间,生成的和现有的压缩文件名可
能不匹配。在这种情况下 RAR 会创建一个新的压缩文件,而不是更新现
有文件。

例子:

1) 使用默认 YYYYMMDDHHMMSS 格式

rar a -ag backup

2) 使用 DD-MMM-YY 格式

rar a -agDD-MMM-YY backup

3) 使用 YYYYMMDDHHMM 格式,替换'backup'之前的日期

rar a -ag+YYYYMMDDHHMM backup

4) 使用 YYYY-WW-A 格式,包含区段描述

rar a -agYYYY{year}-WW{week}-A{wday} backup

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

rar a -agYYYYMMDD-NN backup

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

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

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

-ep1 从文件名中删除底层目录。不存储在命令行中输入的路径。

例子:

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

rar a -ep1 -r test tmp\*

这等价于下列命令:

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

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

-ep3 扩展路径为包含盘符的完全路径。
仅用于 Win32 版本。

压缩时如果使用此开关则保存和恢复包括盘符的完全的文件路径。磁盘分
隔符(冒号)被下划线字符替换。

如果你解压时使用 -ep3,它把下划线改回为冒号并且把文件解压到它们
原始的目录和磁盘中。如果用户也指定了目标路径,它会被忽略。

此开关对于把数个磁盘备份到同一个压缩文件有帮助。例如,你可以运行:

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<atr> 和 -e+<atr> 都指定。

示例:

1) 仅有文件夹名字而不包含它们的内容

rar a -r -e+d dirs

2) 不压缩系统和隐藏属性的文件:

rar a -esh files

-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'

-id[c,d,p,q]
禁用消息。

开关 -idc 禁用版权字符串。

开关 -idd 在操作结束禁止显示“完成”字符串。

开关 -idp 禁止百分比指示。