Подтвердить что ты не робот

NSIS - Как копировать рекурсивно, исключая файлы?

Мне нужно скопировать каталог рекурсивно, но исключить пару каталогов внутри него.

В документации NSIS говорится, что команда File принимает параметры /r и /x, но я не могу заставить их работать вместе правильно.

Структура моего каталога, содержащего мой .nsi script, это:

parent-dir
    dir-to-exclude-1
        setup.nsi
    dir-to-copy-1
    dir-to-copy-2
    dir-to-copy-3
    dir-to-exclude-2

И я пробовал следующее, но это не работает для меня:

SetOutPath $INSTDIR
File /r "..\**" /x "..\dir-to-exclude-1\**" /x "..\dir-to-exclude-2\**"  

Заранее благодарим за помощь.

Edit: Я приближаюсь, так что теперь у меня есть:

File /r /x \dir-to-exclude-1\*.* /x \dir-to-exclude-2\*.*  ..\*

Теперь он скомпилирует и установит все файлы, но не исключая нужные мне каталоги. Любые указания относительно того, как я могу их исключить?

4b9b3361

Ответ 1

Выяснил это с помощью коллеги. Просто укажите имена каталогов без каких-либо *:

File /r /x dir-to-exclude-1 /x dir-to-exclude-2 /x installer  ..\*