在NSIS脚本中获取PATH变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在NSIS脚本中获取PATH变量相关的知识,希望对你有一定的参考价值。
我无法弄清楚如何在NSIS脚本中获取PATH变量。这是我尝试过的,但它在$ 0中返回'error':
nsExec::ExecToStack 'echo %PATH%'
Pop $0
MessageBox MB_OK "$0"
还尝试用$ s逃避%标志,但无济于事。仅使用一些字符串而不是%PATH%也不起作用。我看到一个建议的例子,就像这个使用Exec而不是ExecToStack,但这也不起作用。我错过了什么?
答案
NSIS已经有了一个内置的指令:ReadEnvStr $0 PATH
。
ExecToStack
不起作用,因为echo
是cmd.exe中的内部命令,而不是.exe。你必须以cmd.exe /c echo %path%
的身份执行它。
请记住,%path%可能比NSIS字符串限制更长,因此在将其存储在NSIS变量中后,不应将其写回注册表。使用EnVar plug-in安全地修改%path%。
以上是关于在NSIS脚本中获取PATH变量的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSIS 的 ExecDos 插件获取批处理脚本 exitCode