最后一个字符检查字符串

时间:2015-04-13 15:53:36

标签: nsis

我正在尝试以优雅的方式编写脚本。即写一个函数或宏,它将检查字符串中的最后一个字符'\',如果找到将其添加到“sample”,否则它将添加“\ sample”并返回它。

有样品的人吗?

1 个答案:

答案 0 :(得分:1)

您可以使用StrCpy $2 "$0" 1 -1获取字符串的最后一个字符。

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

Section
Push "c:\foo\bar"
Push "baz"
Call PathAppend
Pop $9
DetailPrint $9
SectionEnd

请注意,如果要将应用程序名称附加到目录,InstallDir设置的默认目录已经有特殊处理。