我似乎无法找到有关如何使用NSIS复制目录的任何信息?我知道有一个文件命令但是有任何复制目录的命令。
答案 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\*"