ant zip:如何为所有文件/目录添加前缀

时间:2013-05-02 00:22:43

标签: ant zip prefix

<zip destfile="/tmp/abc.zip" >
  <fileset ...>
     ....
  </fileset>

  <zipfileset prefix="hello" >
  </zipfilest>

</zip>

我想在创建zip时为所有文件添加前缀foo_bar_3.0。有办法吗?感谢。

2 个答案:

答案 0 :(得分:1)

你的问题有点令人困惑。对于zipfileset部分,您已经将前缀“hello”附加到该集合中的所有文件。

如果您要求文件集部分,ant文档有适合您的示例,请在页面底部https://ant.apache.org/manual/Tasks/zip.html找到此示例:

<zip destfile="${dist}/manual.zip">
    <mappedresources>
        <fileset dir="htdocs/manual"/>
        <globmapper from="*" to="docs/user-guide/*"/>
    </mappedresources>
</zip>

这里是mappers https://ant.apache.org/manual/Types/mapper.html的文档,一个简单的globmapper会为你做。

答案 1 :(得分:0)

您可以通过使用您选择的结构暂存目录中的所有文件来实现目标。一旦文件被暂存,只需压缩目录并清理暂存区域。

<target name="zip.with.prefix">
    <copy todir="tmp/dir1">
        <fileset dir="dir1"/>
    </copy>
    <copy todir="tmp/dir2">
        <fileset dir="dir2"/>
    </copy>
    <zip destfile="abc.zip" basedir="tmp"/>
    <delete dir="tmp"/>
</target>