2010-07-14 12 views
10

J'ai besoin de copier un répertoire de façon récursive mais exclure quelques répertoires à l'intérieur.NSIS - Comment copier récursivement tout en excluant les fichiers?

La documentation de NSIS indique que la commande File prend les paramètres /r et /x, mais je n'arrive pas à les faire fonctionner correctement.

La structure de mon répertoire contenant mon script .nsi est:

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

Et je l'ai essayé ce qui suit, mais il ne fonctionne pas pour moi:

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

Merci à l'avance pour tout Aidez-moi.

Edit: Je reçois de plus près, maintenant j'ai:

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

Maintenant, il va compiler et installer tous les fichiers, mais sans exclure les répertoires que je veux. Des conseils sur la façon dont je peux les exclure?

Répondre

5

Imaginé avec l'aide d'un collègue. Donnez simplement les noms de répertoire sans *:

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