我想从它的子目录中收集Myproj目录中的所有.map
个文件,然后创建一个L.zip
文件。
这是我的代码。
<target name="buildLFiles" >
<zip destfile="../../bin/L.zip" update="true" >
<zipfileset casesensitive="no" dir="../../../Myproj" includes= "****/*.MAP" />
</zip>
</target>
这里的问题是,我收到了所有.map
个文件,但它是以文件层次结构创建的。
这是原始文件结构:
MyProj
|- a
|- b
| - x1.MAP
当前输出:
L
|- a
|- b
| - x1.MAP
必需的输出:
L
|- x1.MAP
答案 0 :(得分:1)
您可以做的是使用另一个目录中的复制任务的flatten
属性展平结构,然后压缩该目录。
<target name="buildLFiles">
<property name="tmp.dir" value="../../bin/TMP" />
<property name="zip.file" value="../../bin/L.zip" />
<copy todir="${tmp.dir}" flatten="true">
<fileset dir="../../../Myproj">
<include name="**/*.MAP" />
</fileset>
</copy>
<zip destfile="${zip.file}" update="true">
<zipfileset casesensitive="no" dir="${tmp.dir}" includes="*.MAP" />
</zip>
<delete dir="${tmp.dir}" />
</target>