nsis を使用して exe を作成しました。次のコードを使用して 2 つのファイルを比較しました。
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
古いプロパティの最初のテキストを読み取り、一致する場合は新しいプロパティの最初のテキストを比較し、両方のファイルの次の単語に移動します。それ以外の場合、古いプロパティ値は新しいプロパティ ファイルで置き換えられる必要があります。ただし、文字列が一致しない場合、新しいプロパティ ファイルの文字列は置き換えられません起こる。これを解決するには?私は何を間違えたのですか?