一連の定数を定義するだけの多数の NSIS インストール スクリプト (.nsi ファイル) があり、メインのインストーラー ロジックは、各インストーラーに共通のインクルード ファイル (.nsh) にあります。インクルード ファイルの 1 つは次のようになります。
!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
...など、最上位の .nsi ファイルで定義されている場合と定義されていない場合がある最大 15 個のサブフォルダー。私の質問は、サポートするサブフォルダーの数を増やす必要があるたびにカットアンドペーストせずにこれを達成するためのより良い構文が NSIS にあるのでしょうか?