使用Ant解压目录中的文件

使用Ant解压目录中的文件,ant,path,unzip,mapper,Ant,Path,Unzip,Mapper,这应该很简单,但我找不到一个方法来做到这一点。我需要使用Ant将目录子目录中的任何zip文件解压缩到同一个子目录。这些文件作为带有通配符(例如./.zip)的文件集传递给ant任务 例如,ant脚本可能必须处理包含file.xml的文件a/b/c/file.zip,因此我想使用解压任务将文件解压缩到a/b/c/file.xml,但事先不知道目录结构是什么,即它可以是a/b/c/file.zip或t/u/v/w/x/y/z/file.zip 解压任务需要“dest”目录,但在脚本运行之前,我不知道

这应该很简单,但我找不到一个方法来做到这一点。我需要使用Ant将目录子目录中的任何zip文件解压缩到同一个子目录。这些文件作为带有通配符(例如./.zip)的文件集传递给ant任务

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

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

任何帮助都将不胜感激

谢谢,
Stef

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