假设C:/dir2/
有一个名为file2.txt
的文件
C:/dir3/
有一个名为file3.txt
这个蚂蚁脚本:
<copy todir="C:/dir1">
<zipfileset dir="C:/dir2" prefix="dirprefix2"/>
<zipfileset dir="C:/dir3" prefix="dirprefix3"/>
</copy>
将文件复制到:
C:/dir1/file2.txt
C:/dir1/file3.txt
但我希望将其复制到:
C:/dir1/dirprefix2/file2.txt
C:/dir1/dirprefix3/file3.txt
任何人都知道我做错了什么?
答案 0 :(得分:1)
属性prefix
仅在创建档案时使用。
以下应该可以正常工作:
<copy todir="C:/dir1/dirprefix">
<zipfileset dir="C:/dir2"/>
</copy>
或者,您可以使用宏:
<macrodef name="mycp">
<attribute name="dir"/>
<attribute name="todir" default="C:/dir1"/>
<attribute name="prefix"/>
<sequential>
<copy todir="@{todir}/@{prefix}">
<fileset dir="@{dir}/"/>
</copy>
</sequential>
</macrodef>
然后每个目录将有一行,如下所示:
<mycp dir="C:/dir2" prefix="dirprefix2"/>
<mycp dir="C:/dir3" prefix="dirprefix3"/>
...