nsis文件夹参数目录

时间:2013-03-18 15:42:39

标签: nsis

我希望能够将一些文件添加到某个文件夹中,因为我需要添加更多文件。

这是我的函数代码:

Function "addElement"
    DetailPrint $0
    CreateDirectory $INSTDIR\data\Element\$0
    SetOutPath $INSTDIR\data\Element\$0

    File /r "${binFolder}\data\Element\$0\*.*"
FunctionEnd

在这里我称之为:

strcpy $0 "Element_1"
call "addElement"

strcpy $0 "Element_2"
call "addElement"

strcpy $0 "Element_3"
call "addElement"

nsis给出了这个错误:

File /r...上的

给出 - >找不到文件。

1 个答案:

答案 0 :(得分:1)

$0是变量,变量在运行时使用,File指令需要在编译时知道文件名!

用宏替换该函数:

!macro addElement fname
    DetailPrint "${fname}"
    CreateDirectory "$INSTDIR\data\Element\${fname}"
    SetOutPath "$INSTDIR\data\Element\${fname}"

    File /r "${binFolder}\data\Element\${fname}\*.*"
!macroend

...

Section

!insertmacro addElement foo
!insertmacro addElement bar
!insertmacro addElement baz