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 回答