我需要为 DOS 创建一个自解压档案。这是一个遗留项目,目前使用 lha(由 Haruyasu Yoshizaki 编写)来创建自解压程序。这确实有效,但是运行时它会询问我们是否要替换每个文件。对于数百个文件来说,这是一个小问题。
因此我需要一种方法来创建可执行文件,使其能够自行提取,并在提取器上提供“所有类型都为是”选项。它显然还必须能够在 DOS 上运行。
我在互联网上搜索过,可以找到可以做到这一点的程序,但它们似乎都需要 32 位。
答案1
您可以使用 ARJ 进行此操作,您可以从以下位置下载http://arj.sourceforge.net
诀窍是将命令行参数嵌入到 exe 中,通过添加以 )) 开头的注释来实现
例如,如果您创建一个名为 options.txt 的文本文件,其中包含以下行
)) -o
并使用命令行生成自解压 exe
arj A -JE -zoptions.txt TEST.EXE *.*
然后这将自动覆盖任何文件(就像您指定了 -o 命令行选项一样)。
答案2
我设法找到了一种方法来做到这一点信息压缩
您需要将 UNZIPSFX.EXE 复制到合适的位置,然后按如下方式合并:
> cd <folder to zip>
> zip -r app .
> copy /b <UNZIPSFX location>\UNZIPSFX.EXE+app.zip app.exe
> zip -A app.exe
答案3
选项包括:
使用 arj(如本页其他地方所述)
使用 unzipsfx(如本页其他地方所述)
使用另一个处理 LZH 文件的程序(而不是使用自解压文件)。大多数存档程序都可以处理自解压文件(通过忽略存档开头的自解压程序代码)。
也许自解压文件支持某个选项,如 -y 或 /? 或 -? 或 -h,例如:
程序.exe-y
您可能已经通过使用 echo 或 type 来实现。例如:
回声Y|程序
输入 fileyyyy.txt | program.exe
那个竖线就是管道:shift-backslash