我必须比较当前文件的版本和已经安装在NSIS安装程序中的版本。我知道版本号是字符串形式的,但是我在几个地方读到,如果逻辑操作需要,NSIS会自动将字符串转换为整数。
出于测试目的,我编写了以下脚本:
Var Test1 Var Test2 section StrCpy $Test1 "4.3.1.50245" StrCpy $Test2 "4.2.1.50245" ${If} $Test1 > $Test2 MessageBox MB_ICONSTOP "$Test1 is bigger than $Test2" ${Else} MessageBox MB_ICONSTOP "$Test2 is bigger than $Test1" ${EndIf} Quit sectionEnd
问题:它给我的结果4.2.1.50245
比伟大4.3.1.50245
。然而,它给了我正确的结果,如果我尝试比较4.2.1.50245
有3.2.1.50245
(或者,如果我比较50245
和40256
等)