我通过curl命令获取应用程序版本值并将其设置为app_version
变量:
for /f "tokens=*" %%a in (
'curl myApp-installer:8080/info/version'
) do (
set app_version=%%a
)
这对我有用,我可以按预期获得价值。 稍后,我使用此值作为参数来构建应用程序安装程序以覆盖应用程序版本。
我的应用程序版本语法应为:Beta - 版本%app_version%。
如何将app_version
变量连接到" Beta - 版本"字符串?
无论我尝试了什么,我都有2个字符串:" Beta - 版本" " 10.1.2"
答案 0 :(得分:0)
只需设置另一个名为beta_version
的变量:
@echo off
for /f "tokens=*" %%a in (
'curl myApp-installer:8080/info/version'
) do (
set app_version=%%a
set "beta_version=Beta - version %%a"
set beta_version=%beta_version:"=%
echo %beta_version%
)
或者如果您愿意:
set "beta_version=Beta - version %app_version%"
答案 1 :(得分:0)
引号实际上是变量值中的文字。您只需要在值中定义没有引号的变量。
当值来自FOR变量时,可以轻松完成此操作 - 您可以使用~
修饰符。输入for /?
或help for
,然后查看帮助输出的底部,以获取所有可用修改器的简要说明。
for /f "tokens=*" %%a in (
'curl myApp-installer:8080/info/version'
) do (
set "app_version=%%~a"
)
请注意,上面代码中的引号围绕着整个作业 - 结构如此,它们不会包含在值中。此构造通常可以防止毒性字符(扩展FOR变量时不会出现问题),还可以防止意外尾随空白字符包含在值中 - SET命令忽略最后一个引号后面的所有字符。