ftp - Inno Setup:将预处理器生成的输出文件名返回到批处理脚本
问题描述
我正在设置一个批处理文件来编译我的应用程序,使用 Inno Setup 编译安装程序。
我的设置文件名是使用 Inno Setup 中的一些 ISPP 命令确定的(从构建版本创建文件名等)。
最后一步是将设置上传到我的 FTP,但为此我需要一种方法来检索 Inno Setup 生成的安装程序文件名。
有没有办法做到这一点?
解决方案
您可以将预处理器变量值写入文件。
一种方法是执行外部程序以使用Exec
函数进行写入:
#define FileName "foobar"
#expr Exec( \
"cmd.exe", "/c echo " + FileName + "> """ + SourcePath + "\filename.txt""", , , \
SW_HIDE)
然后,您可以读取批处理文件中的文件。或者您可以让预处理器生成一个完整的 FTP 上传脚本,然后从批处理文件中执行它。
另一种方法是使用WriteIni
函数创建一个 INI 文件:
#define FileName "foobar"
#expr WriteIni(SourcePath + "\filename.ini", "Section", "FileName", FileName)
尽管就个人而言,我会在批处理文件中生成文件名(或用更好的语言替换批处理文件),然后将其传递给 Inno Setup,而不是反过来。
推荐阅读
- html - 如何修复图像 src
- python - 表单模板中调整的清理功能不会将错误传递给表单
- javascript - 如何将 .NET 控制器中的数据显示到 React 视图?
- vue.js - VUEJS 检查用户是否喜欢帖子
- python - 403 禁止错误。无法访问此站点
- c# - VS 2008 MULTI LAYERS C# 项目在打开时出错
- c# - 将 NSubstitute 导入 Unity 项目
- sql - `DB2`中MS-SQL`QUOTENAME`的等价物是什么
- sql-server - 将递归存储过程包装在另一个过程中时出现“超出最大嵌套级别”错误
- php - mail() 无法发送带有 utf-8 的附件标题。带有 utf-8 内容的英文标题附件传递