Inno Setup:将预处理器生成的输出文件名返回到批处理脚本
Posted
技术标签:
【中文标题】Inno Setup:将预处理器生成的输出文件名返回到批处理脚本【英文标题】:Inno Setup: return output filename generated by preprocessor to a batch script 【发布时间】:2018-12-17 17:07:43 【问题描述】:我正在设置一个批处理文件来编译我的应用程序,使用 Inno Setup 编译安装程序。 我的设置文件名是使用 Inno Setup 中的一些 ISPP 命令确定的(从构建版本创建文件名等)。 最后一步是将设置上传到我的 FTP,但为此我需要一种方法来检索 Inno Setup 生成的安装程序文件名。
有没有办法做到这一点?
【问题讨论】:
【参考方案1】:您可以将预处理器变量值写入文件。
一种方法是使用Exec
function执行外部程序进行写入:
#define FileName "foobar"
#expr Exec( \
"cmd.exe", "/c echo " + FileName + "> """ + SourcePath + "\filename.txt""", , , \
SW_HIDE)
然后您可以read the file in your batch file。或者你可以让预处理器生成一个完整的 FTP 上传脚本,然后从批处理文件中执行它。
另一种方法是使用WriteIni
function创建一个INI文件:
#define FileName "foobar"
#expr WriteIni(SourcePath + "\filename.ini", "Section", "FileName", FileName)
虽然就个人而言,我会在批处理文件中生成文件名(或用更好的语言替换批处理文件),然后将其传递给 Inno Setup,而不是反过来。
【讨论】:
以上是关于Inno Setup:将预处理器生成的输出文件名返回到批处理脚本的主要内容,如果未能解决你的问题,请参考以下文章