Copier un répertoire en utilisant NSIS.

Je n'arrive pas à trouver d'informations sur la façon de copier un répertoire en utilisant les Ins ? je sais que c'est un fichier de commande mais est-il une commande pour copier un répertoire .

21
demandé sur rajat 2012-06-13 15:34:43

3 réponses

la syntaxe est la même pour le répertoire et le fichier, sauf que vous devez spécifier un répertoire en fournissant un \ à la fin. File commande copie le répertoire si l'argument est un répertoire. Par exemple, vous pouvez faire:

SetOutPath "outputPath"
File "myDirectory\" #note back slash at the end

Mais qui ne copie que le répertoire de niveau supérieur. Récursive de le faire, vous avez /r switch

SetOutPath "outputPath"
File /nonfatal /a /r "myDirectory\" #note back slash at the end

qui copie le contenu de myDirectory (mais pas myDirectory le dossier lui-même). /nonfatal ignore sans erreur si il n'existe pas de répertoire particulier. /a copie aussi les attributs des fichiers. /x commutateur est utilisé pour exclure des fichiers.

Sinon,

SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\" #note back slash at the end

copie tout le contenu de myDirectorymyDirectory dossier outputPath.

25
répondu nawfal 2013-07-30 06:15:46

j'ai trouvé comment faire , désolé pour la peine .

extraire les fichiers vers un répertoire qui ne peut pas exister avant

CreateDirectory $Installdir\extracting

SetOutPath $Installdir\extracting

File Directory\*
4
répondu rajat 2012-06-13 11:39:18

File instruction extrait les fichiers de votre installateur et CopyFiles copie les fichiers et / ou répertoires qui existent déjà sur le système des utilisateurs finaux (vous pouvez utiliser $EXEDIR si vous avez besoin de copier des fichiers sur un dvd où votre installateur est également situé...)

3
répondu Anders 2012-06-13 12:19:57