如何使用 7-zip 将 Zip64 压缩文件发送到标准输出?

如何使用 7-zip 将 Zip64 压缩文件发送到标准输出?

我想从一堆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。我可以在应用程序中做什么来解决这个问题?谢谢你的建议!

编辑

我不想将bz2文件提取到标准输出。我想通过将捆绑的存档发送到标准输出来 (a) 添加到test.zip由一组bz2文件组成的存档中。这用于以类似于 的方式7za存档文件,因为文件提供随机访问而存档不提供。bz2tarziptar

编辑2

不幸的是,看起来开发商确认7-Zip 不支持写入标准输出。

答案1

当使用 时-so,在选项的参数中-t,我只能得到 和。我得到的gzip和 你得到的 一样,而我bzip2得到的。tarE_NOINTERFACEzipE_NOTIMPL7z

我找不到修复或解决方法。这可能是测试版中的一个错误,但我在 Linux 9.04 测试版和 Windows 命令行 4.65 版中都遇到了类似的行为。

答案2

您打算先从 bzip2 文件中提取文件,还是只将所有 bzip 文件包含在 7-zip 存档中?-so 开关提取物到标准输出,因此您需要再次通过 7-zip 运行它以将其添加到新档案中。

尝试以下方法:

7za e -so myFiles*.bz2 | 7za a -tzip - test.zip

相关内容