活用数据压缩软件

Author: Date: 1996-04-12

        假设ABC.EXE为ARJ软件形成的自解压文件,并且该文件未被染毒及未被损坏。在对ARJ的应用过程中发现,ABC.EXE具有更灵活的特性。下面通过实例说明:
        (1)对于ABC.EXE,不经文件改名处理便可进行解压操作。
        如:ARJ E ABC.EXE  __对ABC.EXE进行全部解包。
        ARJ E ABC.EXE *.DAT *.OVL__对ABC.EXE进行部分解包。
        (2)可对ABC.EXE进行增加或删除文件操作。
        如:ARJ A ABC.EXE *.TXT *.COM __向ABC.EXE中增加文件。
        ARJ D ABC.EXE *.DAT *.OVL __删除ABC.EXE中部分文件。
        (3)对于ABC.EXE,可使用ARJ的所有命令及开关项。
        如:ARJ A -JM1 -VA B:ABC.EXE C:*.* -R __分盘压缩并附子目录。
        (4)对ABC.EXE经增减文件操作后,ABC.EXE仍然具有自解压属性。
        如:ARJ A ABC.EXE *.TXT *.COM __向ABC.EXE中增加文件。
        ABC.EXE __ABC.EXE自解压。
        从上述举例中,我们不难得出结论:对于经ARJ软件形成的自解压文件,ARJ所有的命令、参数及开关项均适用,并且,仍保持自解压属性。自解压文件的如此属性,我们称之为“自解压文件的扩展属性”。
        2.其它压缩软件的活用:
        (1)活用压缩软件PKZIP:
        PKZIP压缩文档所识别的缺省扩展名为.ZIP,如果我们将.ZIP文件经PKEXE处理,转换成.EXE的自解压文件后,同样具有象ARJ的“自解压文件的扩展属性”。
        如:PKZIP ABC.EXE *.TXT *.COM __向ABC.EXE中增加文件。
        PKUNZIP ABC.EXE *.TXT *.COM __从ABC.EXE中提出文件。
        ABC.EXE __ABC.EXE自解压。
        (2)活用压缩软件LHA:
        LHA压缩文档所识别的缺省扩展名为.LZH,如果我们将.LZH文件经-S命令处理转换成.EX自解压文件后,也具有象ARJ的“自解压文件的扩展属性”。
        如:LHA A ABC.EXE *.TXT *.COM __向ABC.EXE中增加文件。
        LHA E ABC.EXE *.TXT *.COM __从ABC.EXE中提出文件。
        LHA D ABC.EXE *.TXT *.COM __从ABC.EXE中删除文件。
        ABC.EXE __ABC.EXE自解压。
        3.压缩软件的综合使用:
        在使用ARJ、PKZIP、PKPAK及LHA的过程中,本人从LHA功能上,又发现了其交叉使用时的一些属性。+
        (1)使用压缩软件LHA,可以将文件附着到由ARJ、PKZIP和PKPAK压缩后形成的文档去。假如AAA.ARJ是ARJ压缩文档,BBB.ZIP为PKZIP压缩后文档,CCC.ARC为PKPAK压缩后形成的文档。
        ①LHA A AAA.ARJ *.EXE *.DAT
        用LHA向AAA.ARJ中增加文件,这里AAA.ARJ是由ARJ压缩文档。
        1)在AAA.ARJ中,包含内容有两类:一类是由ARJ压缩的文件,这些文件只能用ARJ操作;另一类是由LHA压缩的文件,这类文件只能用LHA操作。
        ②LHA A BBB.ZIP *.EXE *.DAT
        用LHA向BBB.ZIP中增加文件,这里BBB.ZIP是由PKZIP压缩文档。
        2)在BBB.ZIP中,包含内容也有两类:一类是由PKZIP压缩的文件,这些文件只能用PKZIP或PKUNZIP操作;另一类是由LHA压缩的文件,这类文件只能用LHA操作。
        ③LHA A CCC.ARC *.EXE *.DAT
        用LHA向CCC.ARC中增加文件,这里CCC.ARC是由PKPAK压缩文档。
        3)在CCC.ARCP中,包含内容也有两类:一类是由PKPAK压缩的文件,这些文件只能用PKPAK或PKUNPAK操作;另一类是由LHA压缩的文件,这类文件只能用LHA操作。
        (2)实例观察
        1)假如AAA.ARJ是用ARJ将RR子目录下所有文件进行压缩形成的文档,用-L参数查看文档情况如下(命令格式:ARJ L AAA.ARJ):
        Filename   Original   Compressed Ratio DateTime modified   CRC-32   AttrBTPMGVX
        UP.BAT          90            61 0.678 80-01-04 01:56:16   E9E19D25 A-W  B+1
        UCDOS.CFG      256           162 0.633 95-11-01 01:57:06   BC139F54 A-W  B+1
        VIDEOID.COM   2137          1335 0.625 95-08-12 01:10:52   A33C714B A-2  B+1
        7 files    81212        48549 0.598
        2)假如BBB.LZH是用LHA将QQ子目录下所有文件进行压缩形成的文档,查看文档情况如下(命令格式:LHA BBB.LZH):
        Name        Original     Packed  Ratio    Date    Time     Attr   Type  CRC
        ATTRIB.EXE   11208        10675  95.2%  94-05-31 06:22:00  a-w    -lh5- 31D2
        CHKDSK.EXE   12241        11679  95.4%  94-05-31 06:22:00  a-w    -lh5- BCA4
        COUNTRY.SYS  26936         5808  21.6%  94-05-31 06:22:00  a-w    -lh5- 5D41
        6 files   118195        64642  54.7%  95-11-01 19:41:40
        3)现在,我们用LHZ向例1)的AAA.ARJ中添加QQ目录下的所有文件(用命令LHA A AAA.ARJ C:\QQ\*.*),最终形成综合文档AAA.ARJ。以此文档查看方式将有所不同,即,由ARJ处理过的文件,只能用ARJ操作;同样,由LHA处理过的文件,也只能用LHA操作。
        _用ARJ查看文档,结果与例1)相同(命令格式:ARJ L AAA.ARJ):
        Filename   Original   Compressed Ratio DateTime modified   CRC-32   AttrBTPMGVX
        UP.BAT          90            61 0.678 80-01-04 01:56:16   E9E19D25 A-W  B+1
        UCDOS.CFG      256           162 0.633 95-11-01 01:57:06   BC139F54 A-W  B+1
        VIDEOID.COM   2137          1335 0.625 95-08-12 01:10:52   A33C714B A-2  B+1
        7 files    81212        48549 0.598
        _用LHA查看文档,结果与例2)相同(命令格式:LHA AAA.ARJ):
        Name        Original     Packed  Retio    Date    Time     Attr   Type  CRC
        ATTRIB.EXE   11208        10675  95.2%  94-05-31 06:22:00  a-w    -lh5- 31D2
        CHKDSK.EXE   12241        11679  95.4%  94-05-31 06:22:00  a-w    -lh5- BCA4
        COUNTRY.SYS  26936         5808  21.6%  94-05-31 06:22:00  a-w    -lh5- 5D41
        6 files   118195        64642  54.7%  95-11-01 19:41:40
        4)当连续使用ARJ和LHA时,如果目标文件名不变,所添加的文件与文档内文件重名时,并不替换或更新原有文件,而是直接加入文档中。假如AAA.ARJ是目录QQ下的所有文件的压缩文档(通过ARJ完成)。在此基础上,我们用LHA对AAA.ARJ进行添加文件操作,添加的内容还是QQ目录下的所有文件,那么结果如何呢?我们会发现:两次综合操作后所得的文档字节数等于两个独立操作结果之和,我们也不难看出,在操作过程中,并没有文件的替换现象。