Nsis 从字符串中删除尾随字符的最佳方法(例如,尾随斜杠)

Nsis 从字符串中删除尾随字符的最佳方法(例如,尾随斜杠),nsis,Nsis,我正在寻找检查和去除变量中尾随字符的最佳方法 例如,如果最后一个字符是/那么我想删除它。 Ex1:如果$var是C:\mypath,那么我只希望输出为C:\mypath Ex2:如果$var是C:\mypath,那么输出是C:\mypath Function StripBackslash Exch $0 Push $1 StrCpy $1 $0 "" -1 StrCmp $1 "\" 0 +2 StrCpy $0 $0 -1 Pop $1 Exch $0 FunctionEnd Section

我正在寻找检查和去除变量中尾随字符的最佳方法

例如,如果最后一个字符是/那么我想删除它。

Ex1:如果$var是C:\mypath,那么我只希望输出为C:\mypath

Ex2:如果$var是C:\mypath,那么输出是C:\mypath

Function StripBackslash
Exch $0
Push $1
StrCpy $1 $0 "" -1
StrCmp $1 "\" 0 +2
StrCpy $0 $0 -1
Pop $1
Exch $0
FunctionEnd

Section

Push "c:\some\path\"
Call StripBackslash
Pop $0
DetailPrint |$0|
Push "c:\some\path"
Call StripBackslash
Pop $0
DetailPrint |$0|

;Alternative path validation:
Push $InstDir
StrCpy $InstDir "c:\some\path\"
StrCpy $0 $InstDir
Pop $InstDir
DetailPrint |$0|

SectionEnd