ant - 使用 Ant 将文件解压缩到它们所在的目录中

标签 ant path unzip mapper

这应该很简单,但我找不到实现它的方法。我需要使用 Ant 将目录的子目录中的任何 zip 文件提取到同一子目录中。这些文件作为带有通配符的文件集传递给 ant 任务,例如*/.zip。

例如,ant 脚本可能必须处理包含 file.xml 的文件 a/b/c/file.zip,所以我想使用 unzip 任务将文件解压缩到 a/b/c/file .xml,但事先不知道目录结构是什么,即它可以是 a/b/c/file.zip 或 t/u/v/w/x/y/z/file.zip。

解压缩任务需要“dest”目录,但在脚本运行之前我不知道完整的 dest 目录是什么。我还考虑了映射器,但据我所知,这只是针对提取的文件,我无法将 zip 文件位置作为映射的一部分。

如有任何帮助,我们将不胜感激。

谢谢, 史蒂夫

最佳答案

您应该能够使用 ant-contrib 包中的“for”任务(通过文件集)和循环主体中的标准“dirname”任务来完成此操作。您还需要使用 ant-contrib“var”任务来取消设置“dirname”设置的属性,否则下一个循环迭代将不会获得新值。

http://ant-contrib.sourceforge.net/

关于ant - 使用 Ant 将文件解压缩到它们所在的目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006434/

相关文章:

android - 如何从 URI 获取完整的文件路径

java正则表达式查找所有.txt

multithreading - Delphi:Form的线程=“Canvas does not allow drawing”中的ZipForge被卡住

linux - 从 Linux Shell 递归解压?

ant - Eclipse 中 Ant 的动态 basedir

android - taskdef 找不到类 com.android.ant.GetUiTargetTask 需要的类 : com/android/utils/ILogger

java - 如何在我的 Java 代码中使用 Apache Ant 的任务

android - 使用ant构建android项目时如何解决 'sdk.dir is missing'错误

linux - cron 实用程序的问题

python列表理解解压缩多个返回