我想从一堆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
存档文件,因为文件提供随机访问而存档不提供。bz2
tar
zip
tar
编辑2
不幸的是,看起来开发商确认7-Zip 不支持写入标准输出。
答案1
当使用 时-so
,在选项的参数中-t
,我只能得到 和。我得到的gzip
和 你得到的 一样,而我bzip2
得到的。tar
E_NOINTERFACE
zip
E_NOTIMPL
7z
我找不到修复或解决方法。这可能是测试版中的一个错误,但我在 Linux 9.04 测试版和 Windows 命令行 4.65 版中都遇到了类似的行为。
答案2
您打算先从 bzip2 文件中提取文件,还是只将所有 bzip 文件包含在 7-zip 存档中?-so 开关提取物到标准输出,因此您需要再次通过 7-zip 运行它以将其添加到新档案中。
尝试以下方法:
7za e -so myFiles*.bz2 | 7za a -tzip - test.zip