New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: Recursive unpacking? #92
Comments
Hi!
Unfortunately, no. Or rather, not in your use case. In the case of a small archive, you might extract it to a
This will actually be possible from the next version of the library, in which you can use the
This seems to be a problem similar to #90, only on a much bigger scale.
I'm not entirely sure that 7-zip DLLs provide any immediate API for this kind of operation, but yes, probably it's achievable only by directly calling 7z.dll functions. |
I think it should work like this: |
Uhm yeah, I think this might be a good API! |
I tried this within libarchive, it's not as easy as it looks, also some archive formats won't be supported as they don't provide seekable streams. |
Interesting, I'll take a look into it for sure! |
bit7z version
3.1.x
7-zip version
v19.00
7-zip DLL used
7z.dll
MSVC version
2019
Architecture
x86_64
Which version of Windows are you using?
Windows 10
Bug description
Is it possible to recursively unpack several layers of archives without actually dropping intermediary files on disk?
And second question - is it possible to extract files with extractMatching, but to store output in flat directory, not several levels deep?
Situation:
I have VirtualBox running Linux on Windows host. After turning off the VM, I need few files from the guest:
So, there is VDI file (layer 0), it contains MBR (layer 1), it contains EXT4 (layer2). In Ext4 I need to extract files from level 5 of nested directories.
I have written test app, which extract these and it works - but VDI file is huge, so is MBR file and so is EXT4 file, unnecessarily tripling the disk space needed for extracting few megs of files, which I want to avoid.
Is my "hunch" right in a way that both of my questions could be only replied by 'directly calling 7z.dll'?
Steps to reproduce
No response
Expected behavior
No response
Relevant compilation output
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: