2012-06-13 17 views

risposta

22

La sintassi è la stessa sia per directory sia per file, eccetto che devi specificare una directory fornendo un \ alla fine. Il comando File copia la directory se l'argomento specificato è una directory. Per esempio, si può fare:

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

Ma che copia solo la directory di livello superiore. Per fare in modo ricorsivo, devi /r interruttore

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

che copia il contenuto di myDirectory (ma non myDirectory cartella stessa). /nonfatal ignora senza errori se non esiste una directory specifica. /a copia anche gli attributi del file. L'interruttore /x viene utilizzato per escludere i file.

In caso contrario,

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

copia tutti i contenuti del myDirectory tra cui myDirectory cartella outputPath.

+1

Grazie! L'ultimo esempio non sembra funzionare però ... Per creare la cartella, devo usare SetOutPath $ INSTDIR \ myDirectory e poi File/a/r "miaDirectory \" – werner

+0

@nawfal, GRAZIE così tanto per sottolineando il "\" alla fine. Mi stava facendo impazzire!! Non ho visto nulla che faccia riferimento a ciò nella documentazione NSIS. – Damian

+0

Importante per dire che avrà un effetto collaterale come impacchetta la directory all'interno dell'eseguibile del programma di installazione in fase di compilazione. – Andry

4

Ho trovato come farlo, mi dispiace per il disturbo.

estrarre i file in una directory che non può esistere in anticipo

CreateDirectory $Installdir\extracting 

SetOutPath $Installdir\extracting 

File Directory\* 
+2

'SetOutPath' crea già la directory e le sottodirectory passate, quindi non è necessario chiamare prima CreateDirectory. – Claudix

3

L'istruzione File estrae i file dal vostro installatore e CopyFiles file e/o directory copie che già esistono sul sistema degli utenti finali (Puoi usare $ EXEDIR se hai bisogno di copiare file da un dvd dove si trova anche il tuo installatore ...)

Problemi correlati