7zip: Archiv (e) extrahieren, die> = 50% der Festplatte belegen

1

Wie können Sie mit 7zip eine Sammlung von .rar-Dateien extrahieren, die normalerweise die Größe Ihrer Festplatte übertreffen würden?

Angenommen, Ihre Festplatte hatte 10 GB. Wenn Sie ein Zip-Archiv mit 5 GB hatten, wie können Sie den Inhalt des Archivs extrahieren, ohne die 10 GB-Grenze zu überschreiten? Können Sie 7zip so konfigurieren, dass jedes Teil beim Extrahieren seines Inhalts gelöscht wird?

James
quelle
@Sickest Wird beim Extrahieren nicht jede Archivkomponente (archiveX.rar) seriell extrahiert, was bedeutet, dass sie nach dem Extrahieren gelöscht werden kann?
James
Sehen Sie in 7zip eine Option, die dies ermöglicht? Zweitens haben Sie versucht, dies einfach zu tun? Löschen Sie 1 Datei aus dem rar, während es extrahiert wird. Bitte melden Sie, was passiert.
Krankster
Ich bin mir zu 99,9% sicher, dass Sie das nicht können, aber ich verstehe nicht, warum Sie nicht einfach selbst nach der Option suchen oder Ihre Theorie testen können, dass Sie eine .rar-Datei löschen können, während sie extrahiert wird. was könnte schiefgehen?
Sickest
Ich habe versucht, einen Schalter zu finden, der dies tut, aber keinen gefunden. Ich werde versuchen, nach dem Extrahieren zu löschen.
James
Wenn die Festplattenkapazität sinkt, wird die Aufnahme nur geringfügig reduziert. sagen wir 2-4 GB; Wenn Sie über genügend RAM verfügen, können Sie eine RAm-Festplatte erstellen.
Harshil Sharma

Antworten:

1

Wenn jedes Element des Archivs kleiner als der freie Speicherplatz ist, kann man jede Datei einzeln extrahieren, verarbeiten und dann entfernen. Etwas wie das:

foo.7zenthält 10 Dateien beliebiger Größe. Auflisten, extrahieren, löschen:

$ 7za l ../foo.7z
   Datum Zeit Attr Size Compressed Name
------------------- ----- ------------ ------------ - ----------------------
2014-01-20 02:11:01 .... A 16885 189065 file.0
2014-01-20 02:11:01 .... A 40122 file.1
[...]

$ 7za l ../foo.7z | awk '/ ^ 2014 / {print $ NF}' | während a lesen; tun
    7za x ../foo.7z $ a> / dev / null
    Mach etwas mit $ a
    rm -f $ a
erledigt

Wenn es nur eine große Datei im Archiv gibt, könnte man versuchen, sie zu stdout zu extrahieren und dann Spiele zu spielen mit dd:

 7z ein Archiv.7z eine große Datei
 7za x -so archive.7z 2> / dev / null | dd bs = 1M count = 100 2> / dev / null> part.1
 7za x -so archive.7z 2> / dev / null | dd bs = 1M count = 100 skip = 100 2> / dev / null> part.2
 7za x -so archive.7z 2> / dev / null | dd bs = 1M count = 100 skip = 200 2> / dev / null> part.3
 [...]

... und so weiter, bis ddnicht mehr übersprungen werden kann (und part.Nleer sein wird).

ckujau
quelle
0

Am sinnvollsten ist es, eine andere Festplatte (intern oder extern) zu kaufen / auszuleihen. Anschließend können Sie alle Dateien extrahieren und alle erforderlichen Aktionen ausführen (z. B. das Löschen der ursprünglichen Zip-Datei).

Alternativ können Sie dies manuell tun, in 7-ZIP gibt es die Option zum Löschen. Sie können also 7-ZIP öffnen, Dateien auf den lokalen Computer ziehen und sie dann aus dem ursprünglichen komprimierten Archiv löschen.

Dave
quelle