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顯示沒有錯誤時,第一個參數完成。再次,謝謝你! –