使用环境变量路径的一部分在其他目录中添加文件

Use part of an environment variables path to add files in other directories

如何在编译时从环境变量中提取部分路径以用于 File 命令

假设我的环境变量是:

MY_ENV_VAR

假设它的值为:

"C:\Program Files\Program Name\Stuff\New Stuff"

我想在我的脚本中包含以下文件:

"C:\Program Files\Program Name\Other Stuff\myFile.txt"

所以我想做:

StrCpy [=13=] "$%MY_ENV_VAR%" -16
File "[=13=]\Other Stuff\myFile.txt"

以上代码将无法运行,因为 [=15=]StrCpy 在编译时不可用。 我怎样才能达到我想要的结果?

我无法对 myFile 的路径进行硬编码,因为安装目录可能会因用户而异

我找到的唯一解决方案是使用辅助脚本创建一个带有路径定义的 .nsh 文件。 然而,这很丑陋,还需要用户编译两个不同的 .nsi 脚本。

看我的评论。

您可以通过这种方式添加文件:

File "$%MY_ENV_VAR%\..\..\Other Stuff\myFile.txt"