Ant zip:如何从路径中删除原始目录
我有这个结构Ant zip:如何从路径中删除原始目录,ant,zip,Ant,Zip,我有这个结构 component1/Database1/... component1/Code/... component2/Database2/... component2/Code/... etc... 我想创建一个具有以下结构的zip: Database1/... Database2/... etc... 使用此代码: <zip destfile="DB.zip" basedir="BuildPath" includes="*/Database*/**">
component1/Database1/...
component1/Code/...
component2/Database2/...
component2/Code/...
etc...
我想创建一个具有以下结构的zip:
Database1/...
Database2/...
etc...
使用此代码:
<zip destfile="DB.zip"
basedir="BuildPath" includes="*/Database*/**">
</zip>
关于如何摆脱第一个目录的建议?
谢谢为什么不尝试将文件夹结构复制到临时文件夹并尝试压缩它
https://ant.apache.org/manual/Tasks/copydir.html
https://ant.apache.org/manual/Tasks/zip.html
我找到了一种方法,首先将文件复制到临时文件夹中,然后创建zip文件。到目前为止,我还不知道如何将这两个步骤合并到一个调用中,以提高效率:
<copy todir="DBTemp" overwrite="false">
<fileset dir="${SourceDirectory}">
<include name="*/Database*/**" />
</fileset>
<cutdirsmapper dirs="1"/>
</copy>
<zip destfile="DB.zip" basedir="DBTemp" />
当我发布这个问题时,我肯定不知道的功能是“cutdirsmapper”。这允许我提前创建结构 我也会有同样的问题。我会压缩一个不反映我试图创建的内容的结构。我想如果我能将文件复制到正确的位置,我就可以使用相同的代码来压缩它们。
<copy todir="DBTemp" overwrite="false">
<fileset dir="${SourceDirectory}">
<include name="*/Database*/**" />
</fileset>
<cutdirsmapper dirs="1"/>
</copy>
<zip destfile="DB.zip" basedir="DBTemp" />