NSIS - 删除除一个文件之外的所有文件

标签 nsis

任何人都可以澄清我,卸载时我需要删除除许可证文件之外的安装文件夹中的所有内容。我如何使用 NSIS 脚本来做到这一点?

谢谢
问候,
机器人亚历克斯。

最佳答案

而不是像安德斯的第三点那样打开文件,我会这样做:

Rename $INSTDIR\license.txt $PLUGINSDIR\license.txt
RMDir /R $INSTDIR # Remembering, of course, that you should do this with care
CreateDirectory $INSTDIR
Rename $PLUGINSDIR\license.txt $INSTDIR\license.txt

取决于它何时到达无法删除的文件,RMDir /R可能会留下大部分内容,因为我相信它会在无法删除某些内容时停止;这种方式将正确地摆脱它。这也会丢失目录统计信息,但这可能并不重要。

不过,我会推荐 Anders 的前两个解决方案之一。它们更精确。

关于NSIS - 删除除一个文件之外的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4321825/

相关文章:

java - 使我的用 Java 编写的程序可供其他人使用时出错?

security - 在 Windows 2003 的文件属性中重现被阻止的 exe "unblock"选项

eclipse-rcp - 从快捷方式运行时未创建文件夹

jar - 如何使用 NSIS 创建图标快捷方式?

windows - 如何在 Windows cmd 中将文件内容作为命令参数传递?

c++ - 在 linux 上安装 nsis 失败 exitcode1

nsis 卸载程序不会删除链接

如果 ExecWait 命令获取特定返回代码,则 NSIS 回滚安装程序

c++ - wxExecute 无法执行需要管理员权限 UAC 的文件

mysql - 使用 NSIS 静默安装 MySQL