8

在 Windows 代理上运行的 TeamCity 项目中,我想读取文件的内容,然后根据文件内容创建一个目录。

将此操作作为命令行构建步骤执行似乎是合乎逻辑的。我已经尝试创建一个局部变量“VERSION”以及一个自定义的 teamcity 参数,但我都无法工作。似乎 windows cmd 变量与 TeamCity 定义的环境和系统变量没有很好的配合。我正在使用以下自定义脚本:

echo "Distributing"
set VERSION=< component_version.txt
echo %VERSION%
echo "Copying files to dir \path\to\dir\%VERSION%\"
mkdir \path\to\dir\%VERSION%\

关于如何实现这一目标的任何建议?

4

2 回答 2

23

您需要对变量进行转义,%%因此它不会被视为 TeamCity 变量。

echo "Distributing"
set VERSION=< component_version.txt
echo %%VERSION%%
echo "Copying files to dir \path\to\dir\%%VERSION%%\"
mkdir \path\to\dir\%%VERSION%%\
于 2014-05-08T08:25:24.500 回答
0

尝试创建一个接受参数的 .bat 文件或 Powershell 文件,并执行上述步骤。
然后切换您的构建步骤以运行“带参数的可执行文件”,并将 %VERSION% 作为参数传递。

于 2014-05-07T15:24:27.607 回答