Подтвердить что ты не робот

Скопируйте каталог, используя NSIS.

Я не могу найти какую-либо информацию о том, как скопировать каталог с помощью NSIS?, я знаю, что есть команда файла, но есть ли какая-либо команда для копирования каталога.

4b9b3361

Ответ 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\*"