我使用 nsis 创建了 exe。我使用以下代码来比较两个文件。
Function compare
IfFileExists "$INSTDIR\old.properties" 0 filenotfound
FileOpen $0 "$INSTDIR\old.properties" "r"
FileOpen $1 "$INSTDIR\new.properties" "w"
loop:
FileRead $0 $2
MessageBox MB_OK "old $2"
FileRead $1 $3
MessageBox MB_OK "new $3"
IfErrors done
strcmp $3 $2 loop here
here:
FileWrite $1 $2
Goto loop
done:
FileClose $0
FileClose $1
filenotfound:
MessageBox MB_OK "File not found"
FunctionEnd
读取旧属性的第一个文本比较新属性的第一个文本如果匹配转到两个文件的下一个单词。否则旧属性值应在新属性文件中替换。但如果字符串不匹配替换新属性文件中的字符串不发生。如何解决这个问题?我做错了什么?