使用 ANT 从嵌套的 zip 文件中解压特定的 zip 文件
Unzip specific zip file from nested zip file using ANT
我有一个 zip 文件 ex。 'test.zip' 其中包含另外 2 个 zip 文件 - A.zip 和 B.zip。我只想提取 A.zip 的内容并保持 B.zip 不变。
我确实尝试了下面的代码片段,但还没有找到运气 -
<unzip src="test.zip" dest="test_dir">
<fileset dir="test_dir">
<include name="A.zip"/>
<exclude name="B.zip"/>
</fileset>
</unzip>
请告知如何实现。
PatternSets 用于 select 文件从存档中提取。如果不使用模式集,则提取所有文件。
FileSets 可用于 select 归档文件以执行非归档。
试试这个:
<unzip src="test.zip" dest="test_dir">
<patternset>
<include name="A.zip"/>
</patternset>
<fileset dir="test_dir">
<include name="A.zip"/>
</fileset>
</unzip>
来自the unzip task’s documentation:
Only file system based resource collections are supported by Unjar/Unwar/Unzip, this includes fileset, filelist, path, and files.
这意味着您必须在文件系统的某处拥有 A.zip 的物理副本。
所以,真的没办法,只能分两步走:
<tempfile property="a" suffix=".zip"/>
<copy tofile="${a}">
<zipentry zipfile="test.zip" name="A.zip"/>
</copy>
<unzip src="${a}" dest="test_dir"/>
<delete file="${a}"/>
我有一个 zip 文件 ex。 'test.zip' 其中包含另外 2 个 zip 文件 - A.zip 和 B.zip。我只想提取 A.zip 的内容并保持 B.zip 不变。
我确实尝试了下面的代码片段,但还没有找到运气 -
<unzip src="test.zip" dest="test_dir">
<fileset dir="test_dir">
<include name="A.zip"/>
<exclude name="B.zip"/>
</fileset>
</unzip>
请告知如何实现。
PatternSets 用于 select 文件从存档中提取。如果不使用模式集,则提取所有文件。
FileSets 可用于 select 归档文件以执行非归档。
试试这个:
<unzip src="test.zip" dest="test_dir">
<patternset>
<include name="A.zip"/>
</patternset>
<fileset dir="test_dir">
<include name="A.zip"/>
</fileset>
</unzip>
来自the unzip task’s documentation:
Only file system based resource collections are supported by Unjar/Unwar/Unzip, this includes fileset, filelist, path, and files.
这意味着您必须在文件系统的某处拥有 A.zip 的物理副本。
所以,真的没办法,只能分两步走:
<tempfile property="a" suffix=".zip"/>
<copy tofile="${a}">
<zipentry zipfile="test.zip" name="A.zip"/>
</copy>
<unzip src="${a}" dest="test_dir"/>
<delete file="${a}"/>