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

Rob*_*lex 5 nsis

任何人都可以澄清一下,卸载时我需要删除除License文件之外的Installation文件夹中的所有内容.如何使用NSIS脚本执行此操作?

谢谢,RoboAlex.

Chr*_*gan 5

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

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
Run Code Online (Sandbox Code Playgroud)

取决于无法删除文件的时间,RMDir /R可能会将其大部分留在后面,因为我相信当无法删除某些文件时它将停止。这样就可以正确地摆脱这一切。这也会丢失目录统计信息,但这可能并不重要。

不过,我还是建议使用Anders的前两个解决方案之一。他们更精确。