Non riesco a trovare alcuna informazione su come copiare una directory utilizzando NSIS?, So che esiste un comando file ma esiste un comando per copiare una directory.Copia una directory utilizzando NSIS.
risposta
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
.
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\*
'SetOutPath' crea già la directory e le sottodirectory passate, quindi non è necessario chiamare prima CreateDirectory. – Claudix
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 ...)
Grazie! L'ultimo esempio non sembra funzionare però ... Per creare la cartella, devo usare SetOutPath $ INSTDIR \ myDirectory e poi File/a/r "miaDirectory \" – werner
@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
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