使用 CopyFiles 而不是 File 命令的 NSIS 递归文件复制

发布于 2024-12-10 22:23:58 字数 441 浏览 0 评论 0原文

对于 NSIS 安装程序,我一直在使用此命令:

SetOutPath $INSTDIR\data
File /r /x *.svn data\newTerrainTiled

将数据文件复制到可执行文件本身。我现在有一个更大的数据集,它已经超出了安装程序可执行文件的最大大小。我尝试将代码更改为:

SetOutPath $INSTDIR\data
CopyFiles /r $EXEDIR\data\newTerrainTiled

但显然 CopyFiles 没有递归标志。我意识到我可以一一创建 newTerrainTiled 文件夹的子目录,然后使用带有通配符 (*) 字符的 CopyFiles。我想知道是否有人已经提出了一种递归方法,当数据集变大时,使用 CopyFiles 代替 File 进行复制。

谢谢。

For an NSIS installer I have been using this command:

SetOutPath $INSTDIR\data
File /r /x *.svn data\newTerrainTiled

to copy my data files into the executable itself. I now have a larger data set that has outgrown the maximum size of the installer executable. I tried to change my code to this:

SetOutPath $INSTDIR\data
CopyFiles /r $EXEDIR\data\newTerrainTiled

But obviously CopyFiles does not have a recursive flag. I realize I could create the subdirectories of the newTerrainTiled folder one by one and then used CopyFiles with the wildcard (*) character. I wanted to know if someone has already come up with a recursive method of copying using CopyFiles in place of File for when data sets become large.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坚持沉默 2024-12-17 22:23:58
  • 文件指令将文件从您正在编译的系统打包到安装程序中。
  • CopyFiles 将文件和/或文件夹从最终用户系统上的 a 复制到 b!(也就是说,源和目标都位于最终用户系统上,并且在复制之前源文件实际上必须存在) )

CopyFiles 可以复制目录(包含所有文件和子文件夹),但在您的情况下,只有当数据目录与安装程序一起位于 CD/DVD 上时,它才有用。

其他替代方法是:

  • 将数据文件放入外部存档(zip 等)中并使用 NSIS 插件之一进行提取。
  • 将数据附加到生成的安装程序的末尾并提取该数据(“无限”文件大小)
  • The File instruction packs files from the system you are compiling on into the installer.
  • CopyFiles copies files and/or folders from a to b on the end users system! (That is, both the source and destination is on the end users system and the source files actually have to exist before you copy)

CopyFiles can copy a directory (with all files and subfolders) but in your case it would only be useful if the data directory was on a CD/DVD along with the installer.

Other alternatives are:

  • Put the data files in a external archive (zip etc) and use one of the NSIS plugins to extract.
  • Append the data to the end of the generated installer and extract that ("unlimited" file size)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文