我将一些 TeamCity 参数传递给命令行构建步骤。当参数值包含空格时会出现问题,例如:
%env.TEAMCITY_BUILDCONF_NAME% ---> My TC Project
有没有办法用其他字符替换空格,例如下划线?
%env.TEAMCITY_BUILDCONF_NAME% ---> My_TC_Project
我将一些 TeamCity 参数传递给命令行构建步骤。当参数值包含空格时会出现问题,例如:
%env.TEAMCITY_BUILDCONF_NAME% ---> My TC Project
有没有办法用其他字符替换空格,例如下划线?
%env.TEAMCITY_BUILDCONF_NAME% ---> My_TC_Project
如果将参数括在双引号中,通常可以继续使用空格:
%program.files.dir%
=>C:\Program Files (x86)
可执行文件:dir
参数:"%program.files.dir%"
我不知道如何用下划线替换空格,但我遇到了空格问题。在 TeamCity 构建步骤中,我试图将 sqlcmd 作为带参数的可执行文件运行
-S %sql_server% -U %sql_username% -P %sql_password%
-i "custom_script.sql" -d "%custom_db%"
-v DealerName="%DealerName%"
DealerName 是“Great Dealer Ltd”,但它不适用于空格,即使是双引号。
它通过将其设置为自定义脚本来解决问题
sqlcmd -S %sql_server% -U %sql_username% -P %sql_password%
-i "custom_script.sql" -d "%custom_db%"
-v DealerName="%DealerName%"
并且(感谢我的老板的建议)它就像魅力一样。
即使不是您问题的准确答案,它也可能对类似问题有用。
下面给出的字符串对我有用。
%env.TEAMCITY_BUILDCONF_NAME% ---> "My\ TC\ Project"