将文件内容写入新文件只读取字符串的一半

时间:2013-03-19 21:10:45

标签: installer nsis

我正在尝试执行一个非常简单的任务,即在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

1 个答案:

答案 0 :(得分:2)

NSIS变量具有固定大小,如果文件大于限制,则某些变量不适合。您应该在读取循环中写入另一个文件。

当然,如果你想要一个未经修改的副本,你可以使用CopyFiles ...