Я не могу найти какую-либо информацию о том, как скопировать каталог с помощью NSIS?, я знаю, что есть команда файла, но есть ли какая-либо команда для копирования каталога.
Скопируйте каталог, используя NSIS.
Ответ 1
Синтаксис одинаковый для каталога и файла, за исключением того, что вам нужно указать каталог, указав \
в конце. Команда File
копирует каталог, если указанный аргумент является каталогом. Например, вы можете:
SetOutPath "outputPath"
File "myDirectory\" #note back slash at the end
Но это копирует только каталог верхнего уровня. Чтобы рекурсивно сделать это, у вас есть /r
switch
SetOutPath "outputPath"
File /nonfatal /a /r "myDirectory\" #note back slash at the end
который копирует содержимое папки myDirectory
(но не myDirectory
). /nonfatal
игнорирует без ошибки, если нет определенного каталога. /a
копирует атрибуты файлов. /x
используется для исключения файлов.
В противном случае,
SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\" #note back slash at the end
копирует все содержимое myDirectory
, включая папку myDirectory
, в outputPath
.
Ответ 2
Я нашел, как это сделать, извините за неприятности.
Извлеките файлы в каталог, который не может существовать заранее
CreateDirectory $Installdir\extracting
SetOutPath $Installdir\extracting
File Directory\*
Ответ 3
Команда File
извлекает файлы из вашего установщика и CopyFiles
копирует файлы и/или каталоги, которые уже существуют у конечных пользователей system (Вы можете использовать $EXEDIR, если вам нужно скопировать файлы с dvd, где также установлен ваш установщик...)
Ответ 4
Звезда, соответствующая всему содержанию после обратной косой черты, обязательна. Синтаксис следующий.
См. руководство, раздел 4.9.1.6.
SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\*"