我有这个结构
component1/Database1/...
component1/Code/...
component2/Database2/...
component2/Code/...
etc...
我想创建一个具有以下结构的zip:
Database1/...
Database2/...
etc...
使用此代码:
<zip destfile="DB.zip"
basedir="BuildPath" includes="*/Database*/**">
</zip>
它创建:
component1/Database1/...
component2/Database2/...
关于如何删除第一个目录的建议?感谢
我找到了一种方法来完成这项工作,首先将文件复制到临时文件夹中,然后创建zip文件。到目前为止,我还没能想出如何将这两个步骤组合成一个调用来提高效率:
<copy todir="DBTemp" overwrite="false">
<fileset dir="${SourceDirectory}">
<include name="*/Database*/**" />
</fileset>
<cutdirsmapper dirs="1"/>
</copy>
<zip destfile="DB.zip" basedir="DBTemp" />
当我发布这个问题时,我绝对没有意识到的功能是"cutdirsmapper"。这使我能够提前创建结构。
为什么不尝试将文件夹结构复制到临时文件夹并尝试压缩它?
https://ant.apache.org/manual/Tasks/copydir.html
https://ant.apache.org/manual/Tasks/zip.html