以下 ANT exec 标记未按预期运行。
<exec executable="c:\scratch\test.cmd">
<arg value="A,B,C"/>
</exec>
执行时,我希望它使用 1 个参数调用 text.cmd。但是,arg 正在扩展为三个单独的参数。
根据手册, value 应该将内容作为单个参数传递,但是,它作为三个传递(一个用于字符串的每个组件,用逗号分隔)。
我尝试用分号 (;) 替换命令“,”,但这也不起作用。似乎 arg 的 value 属性将提供的字符串解析为好像它是一个路径,但事实并非如此。
任何人都知道如何将“A,B,C”作为一个参数传递?
为了完整起见,我的 test.cmd 文件是这样的:
@echo off
echo Arg1: %1
echo Arg2: %2
echo Arg3: %3
echo Arg4: %4
echo Arg5: %5
echo Arg6: %6
echo Arg7: %7
echo Arg8: %8
echo Arg9: %9
蚂蚁构建的输出是:
[exec] Arg1: A
[exec] Arg2: B
[exec] Arg3: C
[exec] Arg4:
[exec] Arg5:
[exec] Arg6:
[exec] Arg7:
[exec] Arg8:
[exec] Arg9: