使用NSIS复制目录。

时间:2012-06-13 11:34:44

标签: windows installer nsis

我似乎无法找到有关如何使用NSIS复制目录的任何信息?我知道有一个文件命令但是有任何复制目录的命令。

4 个答案:

答案 0 :(得分:26)

目录和文件的语法相同,只是您需要通过在末尾提供\来指定目录。如果指定的参数是目录,则File命令复制目录。例如,你可以这样做:

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

但是只复制顶级目录。要以递归方式执行此操作,您需要/r切换

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

答案 1 :(得分:4)

我找到了怎么做,抱歉有问题。

将文件解压缩到预先不存在的目录

CreateDirectory $Installdir\extracting

SetOutPath $Installdir\extracting

File Directory\*

答案 2 :(得分:3)

File指令从安装程序中提取文件,并CopyFiles复制最终用户系统上已存在的文件和/或目录(如果需要复制文件,可以使用$ EXEDIR安装程序所在的DVD ...)

答案 3 :(得分:0)

必须在反斜杠后加上星号以匹配全部内容。语法如下。

请参见the manual第4.9.1.6节

SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\*"