我有一个ant属性中的机器ip列表。
<property name="machines" ip="10.10.10.1;10.10.10.2;10.10.10.3"/>
我必须把一个文件复制到所有的机器上(所有的机器都是windows机器)。所以我想拆分这个字符串,并在for循环中使用它。在forloop中,我将执行复制命令。
<exec executable="cmd.exe">
<pre>
</pre>
<arg line="/C COPY /Y sample.txt \${machine_ip}Shared_foldersample.txt"/>
<pre>
</pre>
</exec>
现在如何拆分并在循环内部使用它?
最简单的方法是使用ant contrib功能
<对于list="10.10.10.1;10.10.10.2"delimiter=";"param="val"><顺序><echo消息="val=@{val}"/><顺序><对于>
如果不能使用ant contrib,另一种选择是编写自己的自定义ant任务来拆分字符串并为每个令牌执行命令。
或者,由于您无论如何都在执行Windows特定的命令,因此可以在批处理脚本中执行拆分/循环逻辑,并执行该逻辑,传递整个属性字符串。