在NSIS脚本中获取PATH变量

问题描述 投票:0回答:1

我无法弄清楚如何在NSIS脚本中获取PATH变量。这是我尝试过的,但它在$ 0中返回'error':

nsExec::ExecToStack 'echo %PATH%'
Pop $0
MessageBox MB_OK "$0"

还尝试用$ s逃避%标志,但无济于事。仅使用一些字符串而不是%PATH%也不起作用。我看到一个建议的例子,就像这个使用Exec而不是ExecToStack,但这也不起作用。我错过了什么?

environment-variables nsis
1个回答
3
投票

NSIS已经有了一个内置的指令:ReadEnvStr $0 PATH

ExecToStack不起作用,因为echo是cmd.exe中的内部命令,而不是.exe。你必须以cmd.exe /c echo %path%的身份执行它。

请记住,%path%可能比NSIS字符串限制更长,因此在将其存储在NSIS变量中后,不应将其写回注册表。使用EnVar plug-in安全地修改%path%。

© www.soinside.com 2019 - 2024. All rights reserved.