2 つの txt ファイルがあります。 File1.txt – src dir のリストが含まれています。および File2.txt – dest dir のリストが含まれています。src dir から dest dir へのループを使用してコピーを行う必要があります。
File1.txt (SVN dire 構造)
abcBIN
abcBIN/fdPro
...so on
File2.txt (LINUX 構造)
apps/xxx/yyy/bin/abc
apps/xxx/yyy/bin/abc/fdpro
...so on
abcBIN ファイルのディレクトリを apps/xxx/yyy/bin/abc などにコピーする必要があります。1 対 1 のマッピング。
<project xmlns:ac="antlib:net.sf.antcontrib">
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="path-to-ant-contrib.jar"/>
</classpath>
</taskdef>
<loadfile property="file1" srcfile="File1.txt"/>
<loadfile property="file2" srcfile="File2.txt"/>
<ac:for param="i" list="${file1}">
<ac:for param="j" list="${file2}">
<sequential>
<echo>@{i}@{j}</echo>
<echo>copying....</echo>
<property name="src.dir" value="/home/name/svn_repo/dir" />
<property name="dest.dir" value="/home/name/mapp" />
<copy todir="${dest.dir}/@{j}">
<fileset dir="${src.dir}/@{i}">
</fileset>
</copy>
</sequential>
</ac:for>
</ac:for>
</project>
しかし、それは機能していません。
エラーが発生します:
ac:for doesn't support the nested "for" element
UNIX シェルまたは Perl を使用できません。Antで行う必要があります。
Ant のネストされたループについて何か良いアイデアがあれば教えてください。