检查特定标志是否已发送到 NSIS 脚本

Check if particular flag was sent to NSIS script

我想弄清楚是否有 '/p' 标记发送到我的安装程序。我需要让我的脚本根据以下情况做出不同的反应:

  1. 没有发送标志
  2. '/p':标志已发送,但之后没有路径(空白路径)
  3. '/p some_url' : 标志与实际路径一起发送

基本上,我需要一种方法来查明 '/p' 是否已发送,如果是,则以某种方式做出反应,无论下面的 url 是否为空白。

查看 $CMDLINE 变量的文档:http://nsis.sourceforge.net/Docs/Chapter4.html#varother

您可以使用手动解析此变量(使用 GetParameters 获取参数)并搜索您想要的参数 /p 并处理各种情况.

另一种方法是使用 GetOptions: http://nsis.sourceforge.net/Docs/AppendixE.html#getoptions 它也提供解析参数及其值(注意,它们使用 = 来分隔名称和值,例如 /ADMIN =密码).