У меня есть большое количество сценариев установки NSIS (файлы .nsi), которые просто определяют набор констант, а затем основная логика установщика находится во включаемом файле (.nsh), который является общим для каждого из установщиков. Один из включаемых файлов выглядит так:
!ifdef ABC_SUBFOLDER
RMDir /r "$ABCPath\Data\${ABC_SUBFOLDER}"
SetOutPath "$ABCPath\Data\${ABC_SUBFOLDER}"
File /r "${LOCAL_FOLDER}\ABC\${ABC_SUBFOLDER}\*.*"
!endif
!ifdef ABC_SUBFOLDER2
RMDir /r "$ABCPath\Data\${ABC_SUBFOLDER2}"
SetOutPath "$ABCPath\Data\${ABC_SUBFOLDER2}"
File /r "${LOCAL_FOLDER2}\ABC\${ABC_SUBFOLDER2}\*.*"
!endif
!ifdef ABC_SUBFOLDER3
RMDir /r "$ABCPath\Data\${ABC_SUBFOLDER3}"
SetOutPath "$ABCPath\Data\${ABC_SUBFOLDER3}"
File /r "${LOCAL_FOLDER3}\ABC\${ABC_SUBFOLDER3}\*.*"
!endif
... и так далее до 15 вложенных папок, которые могут быть или не быть определены в файле .nsi верхнего уровня. Мой вопрос: есть ли в NSIS лучший синтаксис для достижения этой цели без вырезания и вставки каждый раз, когда мне нужно увеличивать количество поддерживаемых подпапок?