file-io - 如何将文件从安装程序复制到 NSIS 中的硬盘驱动器,但前提是它们尚不存在或比现有文件更新?

标签 file-io nsis

目前我正在使用:

SetOutPath "$INSTDIR\folder\subfolder"
File /r ..\Output\*.*

问题是重新安装时所有文件都会被覆盖。

问题:

  1. 仅当目标目录中尚不存在文件时,如何从安装程序复制这些文件?

  2. 如何覆盖目标目录中早于安装程序中的文件?

编辑:

我找到了这个宏:http://nsis.sourceforge.net/MoveFileFolder

最佳答案

我认为最好的解决方案是使用 SetOverwrite 标志:

http://nsis.sourceforge.net/Docs/Chapter4.html#4.8.2.8

此标志可以在一个部分内动态更改。

所以具体回答这个问题:

SetOverwrite off       # Only copy if file does not exist
File /r ..\Output\*.*


SetOverwrite ifnewer   # Only overwrite if installers' file is newer
File /r ..\Output\*.*

关于file-io - 如何将文件从安装程序复制到 NSIS 中的硬盘驱动器,但前提是它们尚不存在或比现有文件更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11773745/

相关文章:

java - 如何输出\n?

java - 如何使用FileWriter将内容写入文件中的特定位置?

java - openFileOutput 不工作

c - 如何使用从c中的文件读取的文本打开文件

nsis - 在 nsis 上确定互联网连接是否可用

path - 在同一安装程序中使用更新的 NSIS 路径

Ruby - 从 csv 文件中删除列并转换为管道分隔的 txt 文件

installation - 如何以普通用户身份从 UAC 提升安装程序启动程序

nsis - 如何让我的 NSIS 静默安装程序阻塞直到完成?

installation - 使用 nsis 安装程序创建批处理文件快捷方式的图标