loading...


loading...


loading...

 

我的分类(专题)
loading...

日志更新
loading...

最新评论
loading...

留言板
loading...

链接

Blog信息
loading...







Winrar研究小结
Kevin Zhou 发表于 2006-8-16 13:59:46

为了优化公司的数据备份机制,不满足于MSSQL的CAB压缩,决定使用WINRAR来代替。

最早接触的压缩软件是DOS下的ARJ,初见时傻了眼,几M的东西居然被压缩到一张软盘就够,不过这个东东现在似乎已经绝迹了。然后开始使用WINZIP,但WINZIP比较小器,面对异军突起的WINRAR,以不兼容文件格式来对抗。WINRAR凭借完全兼容ZIP和自身不断的进步,终于取得了巨大份额,赶超WINZIP。我自己就是个活例子,自从用了WINRAR2.5以后,就再也没有用过WINZIP。

言归正传,WINRAR功能实在是多,这次主要研究的是WINRAR的压缩模式之区分与在command line下的应用:

上图是图形模式下WINRAR的四种压缩模式,和对应的command。

Add and replcace files

这是默认的压缩模式,使用命令 a ,如:WinRAR a archivefile sourcefile
在这种模式下,直接创建压缩文件,如果压缩文件已经存在,用所有源文件直接替换掉压缩包内已有的相同文件,并新增压缩包内不存在的源文件。对于压缩包内已存在,但是再次压缩时没有包括的源文件,不做任何动作。
简单的说,如果是这种更新模式,新的压缩包内的文件数量可能会多于源文件的数量。

Add and update files

使用命令u,或者a -u的组合。

这种模式下,当更新压缩包时,如果源文件和压缩包内的文件完全相同,则更新速度极快。否则,只要有一个文件的内容有变化,或者新增了文件,则与默认模式一样。

这种模式让我很失望,看不出与上一种有何本质区别。按理说,相同的文件就不必再动作了,但如果源文件中有任何一个有变化,则相同的文件居然还是有个repack的过程……

Frexh existing files only

使用命令F

这种模式就是只对比压缩包内已经存在的文件,而不会新加文件。借用帮助里面的原话就是:   Update files in the archive only if they are older than the files to add. This command will not add new files to the archive.

Synchronize archive contents

使用命令a与参数-as的组合,即以源文件为准,把压缩包中的内容替换为与源文件完全一致的状态。

个人认为这种模式非常适合备份作业,因为源文件有增有减,文件内容也会有变化。

以上四种,均没有我想像中的增量压缩功能,难道是我的需求有问题?当压缩大批文件时,如果对于相同的文件不做动作,速度会快非常多呀!


 


上图的参数只是用来做个记录,具体用途一看便知。

再记录几个较实用的参数:

-ibck      Minimize WinRAR to tray when starting an archiving or extraction operation.

-ilog[name]    Write error messages to the file rar.log created in WinRAR folder. 

 -p[password]     Set a password.

利用WINRAR与Windows计划任务的配合,能够很好的实现多种备份需求,真是它好,我也好。 


阅读全文 | 回复(5) | 引用通告 | 编辑
 


Re:Winrar研究小结
徒然客(游客)发表评论于2006-8-22 9:07:22

老大这样测试得不到效果的,弄个1个文件夹里面装上4000个文本文件,或者弄个几个G的文件来压一下压缩的效果就出来了。

感觉命令行最有效的应用还是在做自解压文件包上面,可以再增加一些这方面的内容。

 


个人主页 | 引用 | 返回 | 删除 | 回复
 


Re:Winrar研究小结
toffof发表评论于2006-8-17 22:59:39

WINRAR真的是好用,可是工行居然没有取得使用的权利。整天提示安装了非授权软件。郁闷!!

后来保留主文件卸载就没提示了,呵呵!


个人主页 | 引用 | 返回 | 删除 | 回复
 


发表评论:

    大名:
    密码:
    主页:
    标题:
    loading...


Powered by Oblog.