这应该很简单,但我找不到实现它的方法。我需要使用 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”设置的属性,否则下一个循环迭代将不会获得新值。
关于ant - 使用 Ant 将文件解压缩到它们所在的目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006434/