Compression

如何使用 7-zip 將 Zip64 壓縮文件發送到標準輸出?

  • October 1, 2010

我想從一堆bzip2文件中製作一個 Zip64 存檔,使用7za’s-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 不支持寫入標準輸出。

當使用-so,-t選項的參數時,我只能得到gzip, bzip2tar工作。我E_NOINTERFACEzip你一樣,我也和你E_NOTIMPL一樣7z

我無法找到修復或解決方法。這可能是測試版中的一個錯誤,但我在 Linux 9.04 測試版和 Windows 命令行版本 4.65 都有類似的行為。

您是打算先從 bzip2 文件中提取文件,還是只是將所有 bzip 文件包含在 7-zip 存檔中?-so 開關提取到標準輸出,因此您需要再次通過 7-zip 執行它以將其添加到新存檔中。

嘗試類似:

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

引用自:https://serverfault.com/questions/186406