nsis 将空文件夹添加到安装程序
nsis adds empty folders to the installer
下面的File
:
; Install common files
SetOutPath "${GameDir}\Mopy"
File /r /x "*.bat" /x "*.py*" /x "w9xpopen.exe" /x "Wrye Bash.exe" "Mopy\*.*"
过滤掉一些包含 python 文件的目录,但当我 运行 安装程序时,这些目录仍然被创建(尽管是空的,或包含空的子目录)。这些文件夹需要包含在安装程序中(如果我在 "compile time" 中得到正确的术语),因为安装程序可以选择安装程序的 python 版本。我想不出不添加这些空文件夹的方法。是否有一些通配符可以用于该目的,或者我应该去删除安装时的文件(使用 RMDir ?)?
我想说你有两个选择,一个确实是 RMDir
如果你同意它可能会删除用户创建的空文件夹。
另一种选择是不使用 File /r ...
而是使用 !system
来执行类似批处理文件的操作,该文件生成一个文本文件,其中包含单独的 File
指令,您可以 !include
。它看起来像这样:
!tempfile files
!system '"mygeneratefilelist.bat" "${files}"'
!include "${files}"
!delfile "${files}"
批处理文件将使用 FOR
and/or DIR
列出 ECHO
File
命令 %1
...
下面的File
:
; Install common files
SetOutPath "${GameDir}\Mopy"
File /r /x "*.bat" /x "*.py*" /x "w9xpopen.exe" /x "Wrye Bash.exe" "Mopy\*.*"
过滤掉一些包含 python 文件的目录,但当我 运行 安装程序时,这些目录仍然被创建(尽管是空的,或包含空的子目录)。这些文件夹需要包含在安装程序中(如果我在 "compile time" 中得到正确的术语),因为安装程序可以选择安装程序的 python 版本。我想不出不添加这些空文件夹的方法。是否有一些通配符可以用于该目的,或者我应该去删除安装时的文件(使用 RMDir ?)?
我想说你有两个选择,一个确实是 RMDir
如果你同意它可能会删除用户创建的空文件夹。
另一种选择是不使用 File /r ...
而是使用 !system
来执行类似批处理文件的操作,该文件生成一个文本文件,其中包含单独的 File
指令,您可以 !include
。它看起来像这样:
!tempfile files
!system '"mygeneratefilelist.bat" "${files}"'
!include "${files}"
!delfile "${files}"
批处理文件将使用 FOR
and/or DIR
列出 ECHO
File
命令 %1
...