使用NSIS复制一个目录。

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

目录和文件的语法是相同的,除了你需要通过在最后提供一个\来指定一个目录。 如果指定的参数是目录,则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

我发现怎么做,对于这个麻烦抱歉。

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

 CreateDirectory $Installdir\extracting SetOutPath $Installdir\extracting File Directory\* 

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