0

NSISでファイルを読み取り、それらのファイルの内容を新しいファイルに書き込むという非常に単純なタスクを実行しようとしています。

私の問題:すべてのファイルの内容が新しいファイルに書き込まれるわけではなく、半分だけが書き込まれます。何がうまくいかないのですか?

Jeez NSIS は最近私に多くの頭痛の種を与えています :(

私のコードは次のとおりです。

Section
    #Read file
    StrCpy $R9 ""             #$R9 will hold the file contents
    FileOpen $R7 "C:\MyFolder\usermenu.4d" "r"

    ReadFileLoop:
        FileRead $R7 $R6
        StrCpy $R9 "$R9$R6"
        #DetailPrint "$R6"
        IfErrors +1 ReadFileLoop

    FileClose $R7

    #Write file contents to new file
    ClearErrors
    FileOpen  $3 "C:\Users\me\Desktop\abc.txt" w
    FileWrite $3 "$R9"
    FileClose $3
SectionEnd
4

1 に答える 1

2

ファイルが制限よりも大きい場合、NSIS 変数のサイズは固定されています。読み取りループの一部として、他のファイルに書き込む必要があります。

そしてもちろん、変更されていないコピーが必要な場合は、そのまま使用できますCopyFiles...

于 2013-03-19T22:01:08.413 に答える