How to split a string and use it inside a for loop in ant script?
18,610
Solution 1
Easiest way is to use the ant-contrib features
<for list="10.10.10.1;10.10.10.2" delimiter=";" param = "val"> <sequential> <echo message = "val = @{val}"/> </sequential> </for>
Solution 2
If you can't use ant-contrib, an alternative would be to write your own custom Ant task to split the string and execute your command for each token.
Alternatively, since you are executing a Windows-specific command anyway, you could do the split/loop logic in a batch script and exec that, passing the whole properties string.
Comments
-
rashok almost 2 years
I am having a list of machine ips in a ant property.
<property name="machines" ip="10.10.10.1;10.10.10.2;10.10.10.3"/>
I have to copy one file to all the machines(all the machines are windows machines). So I want to split this string and to use it inside a for loop. Inside that forloop i will execute the copy command.
<exec executable="cmd.exe"> <pre> </pre> <arg line="/C COPY /Y sample.txt \\${machine_ip}\Shared_folder\sample.txt"/> <pre> </pre> </exec>
Now how to split and use it inside for loop?
-
ewan.chalmers almost 13 yearsYou provided and accepted an answer which contradicts the stated requirements in your question - can't use ant-contrib.