我想从一堆bzip2文件中制作Zip64压缩文件,使用7za的-so选项将压缩的压缩文件发送到标准输出:
$ 7za a dummy -tzip -so myFiles*.bz2 > test.zip
这是我得到的输出:
7-Zip (A) [64] 9.13 beta Copyright (c) 1999-2010 Igor Pavlov 2010-04-15 p7zip Version 9.13 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs) Scanning Creating archive stdout System error: E_NOINTERFACE
文件test.zip是空的。 在文档中没有关于错误E_NOINTERFACE 。 我可以在应用程序中做什么来解决这个问题? 谢谢你的build议!
编辑
我不想提取bz2文件到标准输出。 我想(a)通过发送捆绑归档到标准输出,将dd转换为一个名为test.zip的档案,由一组bz2文件制成。 这是使用7za来以类似于tar的方式归档bz2文件,因为zip文件提供随机访问,而tar归档则不提供。
编辑2
不幸的是,看起来开发人员确认 7-Zip不支持写入标准输出。
当使用-so选项的参数时,我只能得到gzip , bzip2和tar的工作。 我得到了E_NOINTERFACE和zip ,我得到了7z E_NOTIMPL 。
我无法find修复或解决方法。 这可能是testing版本中的一个错误,但是我有类似于Linux版本9.04testing版和Windows命令行版本4.65的行为。
您是打算先从bzip2文件中提取文件,还是只是将所有bzip文件包含在7-zip存档中? -so开关提取到标准输出,所以你需要再次通过7-zip运行,将其添加到一个新的档案。
尝试像这样:
7za e -so myFiles*.bz2 | 7za a -tzip - test.zip