如何比较NSIS中的两个字符串

如何比较NSIS中的两个字符串,nsis,Nsis,例如,我想比较NSIS中的两个字符串。如何为下面的代码设置if-else条件 ReadRegStr $R0 HKLM "${PRODUCT_UNINST_KEY}" "InstallLocation" if ;$R0 has some values then it needs to be copied else this " $INSTDIR "$PROGRAMFILES64\${PRODUCT_NAME}""values should be assigned to INSTDIR

例如,我想比较NSIS中的两个字符串。如何为下面的代码设置if-else条件

ReadRegStr $R0 HKLM "${PRODUCT_UNINST_KEY}" "InstallLocation"

if ;$R0 has some values then it needs to be copied else this " $INSTDIR "$PROGRAMFILES64\${PRODUCT_NAME}""values should be assigned to INSTDIR                                                                            
StrCpy  $INSTDIR "$R0"

 else
StrCpy  $INSTDIR "$PROGRAMFILES64\${PRODUCT_NAME}"
StrCmp和StrCmpS指令可用于比较字符串:

StrCmp $myvar "somestring" 0 jump_to_if_not_equal
  DetailPrint "myvar was somestring"
  goto end
jump_to_if_not_equal:
  DetailPrint "not a match"
end:
您还可以使用LogicLib辅助宏:

!include LogicLib.nsh

${If} $myvar == "something"
  DetailPrint "match"
${Else}
  DetailPrint "not a match"
${EndIf}
StrCmp和StrCmpS指令可用于比较字符串:

StrCmp $myvar "somestring" 0 jump_to_if_not_equal
  DetailPrint "myvar was somestring"
  goto end
jump_to_if_not_equal:
  DetailPrint "not a match"
end:
您还可以使用LogicLib辅助宏:

!include LogicLib.nsh

${If} $myvar == "something"
  DetailPrint "match"
${Else}
  DetailPrint "not a match"
${EndIf}

谢谢。我现在拿到了,非常感谢。我现在明白了。