0
我正在尝试运行由NSIS生成的测试安装程序(.exe),同时提供命令行参数。我正在使用GetParameters和GetOptions。尽管选项存在NSIS GetOptions抛出错误
我的代码:
FileOpen $0 "$InstDir\output.txt" w
${GetParameters} $R1
${GetOptions} $R1 "-pss" $R2
IfErrors 0 +3
FileWrite $0 "Success"
Goto done
FileWrite $0 "Fail"
done:
FileClose $0
,并运行此时使用的命令:
installer.exe -pss
我一直在文本文件中获取Fail
,但选项是在命令行字符串。我究竟做错了什么?
我试过使用/pss
而不是-pss
,这仍然给我一个错误。我也跟着跑了几个版本相同的代码:
FileOpen $0 "$InstDir\output.txt" w
${GetParameters} $R1
${GetOptions} $R1 "-pss=" $R2 ;;revision
IfErrors 0 +3
FileWrite $0 "Success = $R2" ;;revision
Goto done
FileWrite $0 "Fail = $R2" ;;revision
done:
FileClose $0
所使用的命令installer.exe -pss=true
和true
被写入这意味着$R1
是recieving值,但我仍然得到一个错误的文件。
这里最重要的是我不需要任何实际的值,而只需要看看-pss选项是否可用。
任何人都可以告诉我我做错了什么或者我的误解是哪里?
这工作!太棒了,谢谢。我知道LogicLib,但我认为我会用IfError来练习。但是,我认为有很多更好的方法可以做到这一点并不重要。 –
我的误解是,当IfError显示没有错误时,第一个参数完成。再次,谢谢你! –