<zip destfile="/tmp/abc.zip" >
<fileset ...>
....
</fileset>
<zipfileset prefix="hello" >
</zipfilest>
</zip>
我想在创建 zip 时为所有文件添加前缀 foo_bar_3.0。有办法吗?谢谢。
你的问题有点令人困惑。对于 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>
这是映射器的文档https://ant.apache.org/manual/Types/mapper.html,一个简单的 globmapper 将为您做。
您可以通过将所有文件暂存到具有您选择的结构的临时目录中来实现您的目标。一旦文件被暂存,只需压缩目录并清理暂存区域。
<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>