如何使WinRar SFX在解压后运行bat文件

3
我需要让SFX提取到指定位置,并自动从刚提取到的文件夹中启动bat文件。
希望有人能帮忙。
谢谢, Tom
2个回答

8
在开始时打开WinRAR,选择要放入存档的文件或文件夹,然后点击Add按钮。检查选项Create SFX archive
切换到高级选项卡,然后点击SFX options按钮。切换到设置选项卡,在提取后运行字段中输入批处理文件的名称,如果批处理文件不在根目录中,则输入相对路径。
点击帮助按钮以获取有关此选项的详细信息。
完成所有SFX选项的配置并按下OK按钮后,切换到注释选项卡。您现在可以看到类似以下内容的东西:
;The comment below contains SFX script commands

Setup=Install.bat

您可以将创建SFX归档的所有选项保存到配置文件中,以便使用该配置文件轻松从批处理文件内运行WinRAR或在GUI内快速选择配置文件。
当然,也可以直接在命令行上定义所有设置,而无需使用存储在Windows注册表中的WinRAR配置文件。
控制台版本Rar.exe的手册是程序文件夹中的文本文件Rar.txtWinRAR的帮助文档记录了WinRAR.exe可用的命令和选项。在目录标签页中,列出了所有有用于构建命令行的帮助页面。按字母排序的开关列表

编辑:
如果将Install.bat添加到子文件夹中的归档中,则需要在SFX选项对话框的设置中指定批处理文件为subfolder\Install.bat,并在注释文件中执行相同操作。
在批处理文件内部,必须在顶部添加命令行cd“%〜dp0”,将当前目录从SFX模块设置的目标目录更改为包含批处理文件的提取子文件夹。
顺便说一句:Windows命令处理器不允许使用UNC路径执行批处理文件。因此,当用户选择将存档提取到使用UNC路径的网络共享时,无法运行包含的批处理文件。
请参阅
以及此页面右侧相关下方列出的其他主题。

1
我已经尝试过了,但批处理文件无法正常运行,它需要从实际提取到的文件夹中启动,这可能是问题所在。 - OfficiallyFrex

0

尝试使用%~dp0。这代表批处理文件正在运行的目录。

echo %~dp0 

应该打印相关的目录。
echo Hello World >%~dp0\HelloWorld.txt 

这将在批处理文件所在的目录中创建一个名为 HelloWorld.txt 的文件。


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