我有一个如下所示的目录结构:
parent-dir
XXX
file.txt
YYY
file2.txt
CCC
XXX
file3.txt
我目前使用File /r XXX
递归获取parent-dir \ XXX但是因为/ r也导致File以递归方式搜索输入目录,我也得到所有parent-dir \ CCC \ XXX。
我意识到我可以CreateDirectory XXX
和SetOutputPath XXX
然后使用File /r XXX\*
然后再使用SetOutputPath
但我不希望每次使用{{{{}时都必须这样做1}}
是否有一种安全的方法可以使用File /r
来抓取未来可能被添加到parent-dir的意外内容?
答案 0 :(得分:1)
对于可能出现意外文件的File /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"
我这样称为从perl
获取整个${InstSrcFiles}
子目录,这是安装主文件所在的目录,排除了可能的.svn
目录和文件将被安装到$INSTDIR
:
${SlurpSubDir} "/r /x .svn" "${InstSrcFiles}" "perl" "*.*" "$INSTDIR"