Board logo

标题: 请教--关于PKZIP中ZIP2EXE的问题! [打印本页]

作者: yujinhui     时间: 2006-10-11 02:27    标题: 请教--关于PKZIP中ZIP2EXE的问题!

事情是这样的:

          近日在学做DOS-启动盘,用到一些工具,如DM,PQ,VC,等,

把它们做成ZIP后,然后PKUNZIP解压到RAMD,但感觉实在不美观,并且是

两个文件,后来就用PKZIP中ZIP2EXE把ZIP转成EXE。

            现在想请教一下,怎样把转后的EXE添加自解压脚本命令,像WINRAR

在WINDOWS下一样。使其能够再自动运行软件。比如DM中的DM.COM.

             谢谢。
作者: zjnbwdj     时间: 2006-10-11 07:12
不明白!
是想让压缩包不需要PKUNZIP就能自己解压缩呢,还是想让压缩包中的某个文件解压后可以自动运行?
作者: yujinhui     时间: 2006-10-11 07:47
是想让压缩包中的某个文件解压后可以自动运行!

ZIP2EXE 这个软件的帮助也看不明白。

ZIP2EXE 下载地址



http://members.aol.com/wolffsoft/pkzip250.exe
作者: fastslz     时间: 2006-10-11 10:18
将D:\XXX\*.*(包括目录文件夹)创建到自解压DOS.EXE:
Pkzip -exx -n -p -a -r DOS.zip D:\XXX\*.*
ZIP2EXE DOS.zip
del  DOS.zip

DOS将DOS.EXE压缩包解压到某个目录:
DOS.EXE -o -D %ramd%:\

注意参数大小写

[ Last edited by fastslz on 2006-10-11 at 10:19 ]
作者: yujinhui     时间: 2006-10-11 19:16
谢谢楼上的回复!
DOS.EXE -o -D %ramd%:\
中参数“ -o -D”是什么意思呢?
能够把DOS.ZIP中的文件解压到%ramd%:\,那么怎样才能够在运行“DOS.EXE -o -D %ramd%:\”的时候也运行DOS.EXE中的程序吗?

[ Last edited by yujinhui on 2006-10-11 at 19:18 ]
作者: yujinhui     时间: 2006-10-12 07:30
往上顶一下,希望有高人看见!
应该是可以实现的,
今天我又下了个hiren'bootcd 8.5 研究了一下它的UHA包中的程序,
其中 ADDS.UHA 中,j就只有一个文件,adds.exe,把它加到ISO,虚拟机引导,直接运行adds.exe
就是Acronis Disk Director Suite 9.0.554, 只有2.5M,真的棒极了。PQMAGIC 也同样,只有800K。

不知道是怎么做成的?

喜欢的朋友也关注一下!
作者: fastslz     时间: 2006-10-12 09:36
汗...就pkzip上面已经说的很清楚了
要知道参数自己看pkzip /?
作者: yujinhui     时间: 2006-10-12 10:24
不好意思,PKZIP参数,没看全,再加上英语不是太好,
它的参数只看了一页,

刚又看了后3页参数,还是有些不清楚,
再请教下,-P,是大P吧,后面跟自解压时要运行的程序吗?-r,还是看不明白

能不能举个实例呢?麻烦您了。
作者: fastslz     时间: 2006-10-12 10:27
 PKZIP软件是使用广泛的压缩软件,PC Tools 8.0系统内包含了该软件包主要功能,
它有3个主要的具有不同功能的可执行文件。它们是:
 A. PKZIP.EXE    打包程序。用于将源文件压缩成后辍为.ZIP文件。
 B. PKUNZIP.EXE 解包程序。用于将后辍为.ZIP的压缩文件解包。
 C. ZIP2EXE.EXE 生成自解包程序,用于将.ZIP文件生成可执行的.EXE自解包。
  1、PKZIP 命令格式
   PKZIP [参数] <压缩包文件名> <[路径]源文件名(含通配符)>
   PKUNZIP [参数] <压缩包文件名> [d:[解包输出路径]]
   zip2exe [-j] <压缩包文件名>
   其中,压缩包文件名若缺省后辍则为.ZIP。在ZIP2EXE中若有“-J”参数,则为采
用最大压缩比。PKZIP和PKUNZIP格式中的参数,分别为PKZIP 命令格式参数表和PKUNZIP
命令格式参数表所示。

      PKZIP 命令格式参数表
┌───┬──────────────┰───┬──────────────┐
│名称  │      功          能       ┃名称  │      功          能        │
├───┼──────────────╂───┼──────────────┤
│-A    │将文件加入到打包文件中      ┃-M[U.F] 文件移入打包文件(U更改,F刷新)
├───┼──────────────╂───┼──────────────┤
│-C    │加注释(小写c为增或改注释)   ┃-U    │更新(补充)打包文件中文件    │
├───┼──────────────╂───┼──────────────┤
│-D    │从打包文件中删除指定文件    ┃-R    │将子目录中文件一起打包      │
├───┼──────────────╂───┼──────────────┤
│-E[X.N│-EX最大压缩比;-EN按常规压缩;┃-p    │ 保存子目录(大写P可在打包   │
│.S]   │-ES 快速压缩                ┃      │文件增加子目录              │
├───┼──────────────╂───┼──────────────┤
│-F    │更新打包文件中文件容        -T[MMDDYY] 处理指定日期以前文件       │
├───┼──────────────╂───┼──────────────┤
│-I    │加入改变过的新文件           [MMDDYY处理指定日期以后文件加入改  │
│      │                            ┃      │变过的新文件                │
├───╁──────────────╂───┼──────────────┤
│-V    │查看ZIP打包文件中信息       -X<文件表  不处理文件表中所列文件     │
└───┴──────────────┸───┴──────────────┘
        
         PKUNZIP 命令格式参数表
┌───┬──────────────┰───┬──────────────┐
│名 称 │     功             能      ┃名 称 │     功          能        │
├───┼──────────────╂───┼──────────────┤
│-C    │解包压缩文件到屏幕显示      ┃-P    │解包压缩文件到打印机        │
│      │(加M为满暂停)               ┃      │                            │
├───┼──────────────╂───╁──────────────┤
│-D    │建立子目录(包括子目录释放)  ┃-R    │替代已有的文件              │
├───┼──────────────╂───┼──────────────┤
│-E/-X │解包压缩文件到磁盘          ┃-V    │压缩文件列表                │
├───┼──────────────╂───┼──────────────┤
│-O    │覆盖已有文件                ┃-T    │测试压缩文件的完整性        │
└───┴──────────────┸───┴──────────────┘

 2、应用举例
 ⑴C:>PKZIP -A TOOL C:\TOOL\*.* 将C:\TOOL子目录中所有文件压缩到TOOL.ZIP中。
 ⑵C:>PKZIP -X*.LIB TOOL C:\TOOL\*.* 将C:\TOOL子目录中,除后辍为.LIB的所有
文件,压缩到TOOL.ZIP中。
 ⑶C:>PKZIP -R TOOL \TOOL\*.* 将TOOL(包括以下的子目录)中所中文件打包到TOOL.
ZIP中(未包括子目录名)。
 ⑷C:>PKZIP -R -P A:TOOL D:\TOOL\*.* 将D:\TOOL中包括所有子目录及文件压到A盘
的TOOL.ZIP中。
 ⑸C:>PKUNZIP -D A:TOOL C:\TOOL 将上述A盘中TOOL.ZIP还原至C盘TOOL子目录下。
 ⑹C:>PKZIP -V TOOL.ZIP 显示打包文件TOOL.ZIP信息。
 ⑺C:>ZIP2EXE -J TOOL 以最大压缩比将TOOL.ZIP生成一个可自解包的可执行文件TOOL
.EXE。
 ⑻可写成批文件PK.BAT,将源文件压缩成一个可自解包文件。PK.BAT内容为:
     PKZIIP -A %1 %2
     ZIP2EXE -J %1
 执行PK.BAT实例:
    C:>PK TIIL \TOOL\*.* 将TOOL目录下所有文件压缩到一个自解包文件TOOL.EXE。
作者: yujinhui     时间: 2006-10-12 10:50
辛苦您了!
你贴的这个我早看过了。

估计您误解我的意思了。我是想让这个自解压ZIP,在DOS下,自解压运行的的同时,再运行它里面的可执行程序。

比如DM.ZIP(即DM.EXE),其中包括(dm.com,dm1.exe,xbios.ovl)

A:\DM.EXE -o -D %ramd%:\   

我想实现:输入这样的命令即可运行DM.COM,不用到%ramd%,在执行DM.COM.(当然也不用批处理)

[ Last edited by yujinhui on 2006-10-12 at 10:53 ]
作者: fastslz     时间: 2006-10-12 11:19
不用批处理!纯DOS下能自解压后自动运行解压后某个程序?我没听说过。
能提供下你说的(直接运行adds.exe就是Acronis Disk Director Suite 9.0.554)吗?真想见识一下

[ Last edited by fastslz on 2006-10-12 at 11:22 ]
作者: yujinhui     时间: 2006-10-12 11:39
2M多,上传不了吧,

不过我感觉它也不像压缩过的,在虚拟机里运行后,内存盘中无任何文件。

其实最初,我是看到在WINDOWS,WINRAR 有这样的功能才这样想,在DOS下达到同样的目地。

PKZIP,总共4页参数好象也没有这样的功能。
作者: fastslz     时间: 2006-10-12 11:46


  Quote:
Originally posted by yujinhui at 2006-10-12 11:39:
2M多,上传不了吧,

不过我感觉它也不像压缩过的,在虚拟机里运行后,内存盘中无任何文件。

其实最初,我是看到在WINDOWS,WINRAR有这样的功能 ...

不要说PKZIP没有这样的功能了,RAR Wincon自解压.exe也做不到

发我fastslz@gmail.com
作者: yujinhui     时间: 2006-10-12 19:13
WINRAR做成的自解压EXE在WINDOWS 下是可以运行其中程序的的。

现在我做个简单的,记事本程序,NOTEPAD,


这里不能上传EXE文件,我又压缩了下。

http://zhenlove.com.cn/cndos/fileup/files/notepad.zip


另:rar自解压包在解压时可以运行二个以上的命令

[ Last edited by yujinhui on 2006-10-12 at 19:21 ]
作者: fastslz     时间: 2006-10-12 21:28
晕晕的......我说的RAR Wincon是CMD命令行自解压程序,楼主对压缩概念有点模糊
作者: yujinhui     时间: 2006-10-12 22:59
呵呵,确实是我没看清,概念有点模糊;也没说详细。

不过我开始说的就是在WINDOWS下的RAR能够实现自解压并运行,

我的初衷,就是在DOS下,也实现同样的功能。

当然工具不局限于PKZIP,RAR,这些。 或7ZIP,GZIP,UHARC等能够实现也可以。

压缩和解压缩的软件太多了,我也不熟悉,也不可能一个一个试,

所以PKZIP为话题发个帖子,希望知道的人能够指点一下。

如果实现不了也就算了。
作者: linmilin     时间: 2007-6-30 21:02
pkunzip 能不能解压出带_(下划线)的文件?