Ant 从文件列表中的目录内部复制文件
我有一个Ant 从文件列表中的目录内部复制文件,ant,Ant,我有一个文件列表,其中包含一个目录列表。我需要遍历文件列表,从每个目录中获取一个文件并将其复制到另一个位置 我试图将filelist与foreach结合使用,但foreach不支持filelist。在ANT中是否还有其他方法可以做到这一点 我尝试使用for 这在任务中失败,表示找不到目录。它要查找的目录是${basedir}/bin/,而不是给定的文件列表中首先列出的目录。我认为这是因为它没有正确读取我的文件列表。我的foreach版本给出了相同的错误 <for
文件列表
,其中包含一个目录列表。我需要遍历文件列表
,从每个目录中获取一个文件并将其复制到另一个位置
我试图将filelist
与foreach
结合使用,但foreach
不支持filelist
。在ANT中是否还有其他方法可以做到这一点
我尝试使用
for
这在
任务中失败,表示找不到目录。它要查找的目录是${basedir}/bin/
,而不是给定的文件列表中首先列出的目录。我认为这是因为它没有正确读取我的文件列表。我的foreach
版本给出了相同的错误
<for
list="devBuild"
delimiter=","
param="dirName"
trim="true">
<sequential>
<copy
todir="./apks/"
failonerror="true"
verbose="true">
<fileset dir="@{dirName}/../bin/">
<include name="*/*.apk"/>
</fileset>
</copy>
</sequential>
</for>
下面的方法确实有效,但我希望使用引用ID,而不是再次创建文件列表
<for
delimiter=","
param="dirName"
trim="true">
<path>
<filelist
id="devBuild"
dir="${basedir}"
files="${build1},${build2},${build3},${build4}"
/>
</path>
<sequential>
<echo>@{dirName}</echo>
<copy
todir="./apks/"
failonerror="true"
verbose="true">
<fileset dir="@{dirName}/../bin/">
<include name="*/*.apk"/>
</fileset>
</copy>
</sequential>
</for>
@{dirName}
我解决了这个问题。当我调用另一个目标时
我没有设置inheritrefs
的标志。这需要为真,以便另一个目标将获得参考。是且无分辨率。详细信息发布在op中。我取得了一些成功,但仍然无法获得文件列表
参考ID。还将*/*.apk
更改为***.apk
。这修复了一个无关的问题。我解决了这个问题。当我调用另一个目标时
我没有设置inheritrefs
的标志。这需要为真,以便其他目标将获得引用。
<for
delimiter=","
param="dirName"
trim="true">
<path>
<filelist
id="devBuild"
dir="${basedir}"
files="${build1},${build2},${build3},${build4}"
/>
</path>
<sequential>
<echo>@{dirName}</echo>
<copy
todir="./apks/"
failonerror="true"
verbose="true">
<fileset dir="@{dirName}/../bin/">
<include name="*/*.apk"/>
</fileset>
</copy>
</sequential>
</for>