这应该很简单,但是我找不到解决方法。我需要使用Ant将目录的子目录中的所有zip文件提取到同一子目录中。这些文件作为带有通配符的文件集传递给ant任务,例如*/。压缩。
例如,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。
解压缩任务需要“目标”目录,但是在脚本运行之前,我不知道完整的目标目录是什么。我还考虑了映射器,但据我所知,这仅是针对提取的文件,我无法在映射中引用zip文件的位置。
任何帮助将不胜感激。
谢谢,
斯蒂夫
最佳答案
您应该能够通过ant-contrib包中的“for”任务(通过文件集)和循环主体中的标准“dirname”任务来执行此操作。您还将需要使用ant-contrib“var”任务来取消设置“dirname”设置的属性,否则下一次循环迭代将不会获得新值。
http://ant-contrib.sourceforge.net/