自解压缩zip文件需要参数

5
我正在寻找一种工具,可以创建一个自解压可执行文件,并且能够传递参数。这些参数将在稍后传递给包含在自解压exe中的批处理文件。
以下是我想要实现的步骤:
用户输入: cmd> setup.exe arg1 arg2 arg3 arg4 arg5
期望的行为: 1)setup.exe将其内容提取到某个文件夹 2)然后使用arg1、arg2、...、arg5参数执行批处理文件
是否有人知道这样的工具?
4个回答

3
不知道是否有帮助,但WinRAR可以创建自动解压文件,并且在解压后运行某些命令和/或在文本编辑器中显示许可证信息。

2

你也可以使用7zip来完成这个操作。我首先创建了一个.7z包,然后使用“安装程序的SFX模块”将其转换为自解压缩zip文件。这允许你在配置文件中指定提取后要启动的文件。如果你向自解压缩zip文件传递参数,它们将被传递到你指定的文件中。这种方法的缺点是没有办法指定用于zip文件的图标。

更多细节请参见此问题


谢谢。7zip是一个免费的解决方案,所以有些人可能会选择使用它。另一方面,WinRAR并不是免费的。但好的一点是,如果你创建了一个自解压文件,你就可以自由地分发它。因为实质上你不是在重新分发WinRAR本身,而是自解压文件。我们公司选择了WinRAR解决方案。它很容易使用,并且可以在批处理文件中轻松地进行自动化,而不需要使用UI界面。但无论如何,感谢您的意见和链接! - santahopar
你可以使用ResourceHacker(https://angusj.com/resourcehacker/)来更改图标。最简单的方法是在`sfx`文件中进行操作。Windows会将7z sfx文件识别为安装程序,因此默认会要求管理员权限。你还可以使用ResourceHacker添加一个清单文件,以强制其以调用者身份运行。 - undefined

2

我使用WinRar实现了这一点。所以感谢你的建议。用户可以指定在文件被提取后要启动的可执行文件。命令行参数保存在环境变量%sfxcmd%中。因此,如果您将该环境变量放在可执行文件旁边,则参数将被传递给它。这些参数可能稍后会在您的可执行文件中传递。


1

1
如果在创建自解压文件时已经指定了一些参数,则它们将被替换。要传递多个参数,请使用 myexe.exe "-sparg1 arg2" - toster-cx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接