这是我写的蚂蚁脚本
<?xml version="1.0"?>
<project name="Hello World Project" basedir="." default="info">
<property name="cms.dir" value="D:\CMS\webclient\components\CMS" />
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<target name="info">
<echo>Hello World - Welcome to Apache Ant!</echo>
<fileset id="src.files" dir="${cms.dir}" casesensitive="yes">
<include name="**/*.uim"/>
<include name="**/*.properties"/>
</fileset>
<pathconvert pathsep="," property="sounds" refid="src.files">
</pathconvert>
<echo file="sounds.txt">${sounds}</echo>
</target>
</project>
它只填充文件名。如何获取文件的完整路径
答案 0 :(得分:1)
将文件集包装在类似的路径元素中:
<path id="foo">
<fileset dir="${cms.dir}" casesensitive="yes">
<include name="**/*.uim"/>
<include name="**/*.properties"/>
</fileset>
</path>
<!-- will print the absolute path of all files separated by ; -->
<echo>${toString:foo}</echo>
将pathconvert与pathsep="${line.separator"
一起使用,每行获取一个文件:
<pathconvert pathsep="${line.separator}" property="sounds" refid="foo">
此外,您可以将文件集中的这些模式组合在一起,而不是包含2个嵌套包含名称元素的文件集,其中包含由&#39;,&#39;分隔的属性。或空白:
<path id="foo">
<fileset dir="${cms.dir}" casesensitive="yes" includes="**/*.uim **/*.properties"/>
</path>