Nsis 如何在不递归输入目录的情况下使用File/r
我有一个目录结构,如下所示:Nsis 如何在不递归输入目录的情况下使用File/r,nsis,Nsis,我有一个目录结构,如下所示: parent-dir XXX file.txt YYY file2.txt CCC XXX file3.txt 我目前使用File/r XXX递归地获取父目录\XXX,但由于/r还导致File递归地搜索输入目录,因此我也获取了所有父目录\CCC\XXX 我意识到我可以CreateDirectory XXX和SetOutputPath XXX使用File/r XXX\*然后SetOutputPath返回,但我不
parent-dir
XXX
file.txt
YYY
file2.txt
CCC
XXX
file3.txt
我目前使用File/r XXX
递归地获取父目录\XXX,但由于/r还导致File递归地搜索输入目录,因此我也获取了所有父目录\CCC\XXX
我意识到我可以CreateDirectory XXX
和SetOutputPath XXX
使用File/r XXX\*
然后SetOutputPath
返回,但我不想每次使用File/r
是否有一种安全的方法来使用
文件/r
,它不会捕获将来可能添加到父目录中的意外内容?对于可能获取意外文件的文件/r
问题,我制作了以下宏:
; SlurpSubDir : include a file pattern from a directory
!macro SlurpSubDir args parentSrcDir subDir pattern parentDstDir
SetOutPath "${parentDstDir}\${subDir}"
File ${args} "${parentSrcDir}\${subDir}\${pattern}"
SetOutPath "${parentDstDir}"
!macroend
!define SlurpSubDir "!insertmacro SlurpSubDir"
我这样调用是为了从安装主文件所在的目录${InstSrcFiles}
中获取整个perl
子目录,不包括可能的.svn
目录,这些文件将安装到$INSTDIR
:
${SlurpSubDir} "/r /x .svn" "${InstSrcFiles}" "perl" "*.*" "$INSTDIR"