我似乎找不到任何关于如何使用 NSIS 复制目录的信息?,我知道有一个文件命令,但是有没有复制目录的命令。
问问题
21691 次
4 回答
36
目录和文件的语法相同,只是您需要通过\
在末尾提供 a 来指定目录。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
.
于 2013-07-23T16:40:07.320 回答
4
我找到了怎么做,抱歉给你添麻烦了。
将文件提取到事先不存在的目录中
CreateDirectory $Installdir\extracting
SetOutPath $Installdir\extracting
File Directory\*
于 2012-06-13T11:39:18.603 回答
3
该File
指令从您的安装程序中提取文件并CopyFiles
复制最终用户系统上已经存在的文件和/或目录(如果您需要从安装程序所在的 DVD 复制文件,您可以使用 $EXEDIR...)
于 2012-06-13T12:19:57.447 回答
0
反斜杠后与整个内容匹配的星号是强制性的。语法如下。
请参阅手册第 4.9.1.6 节
SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\*"
于 2019-10-04T15:22:42.433 回答