0

我想.map从 Myproj 目录的子目录中收集所有文件,然后创建一个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
4

1 回答 1

1

What you could do is flatten the structure using the copy task's flatten attribute in another directory, then zip that directory.

<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>
于 2012-11-18T09:21:49.513 回答