Wie kann ich eine große Datei auf einer bereits vollen Festplatte komprimieren?

Ich habe eine vollständige Festplatte mit einer großen Datei, die ich komprimieren möchte, um Speicherplatz freizugeben. Die meisten Komprimierungsprogramme erfordern, dass ich genügend freien Speicherplatz auf der Festplatte habe, um die komprimierte Datei neben der Originaldatei zu speichern. Obwohl gzip die Originaldatei nach Abschluss löscht, geschieht dies erst, nachdem die komprimierte Datei geschrieben wurde. Wie kann ich die Komprimierung an Ort und Stelle durchführen und dabei die Originaldatei abschneiden?

Ich möchte keinen RAM machen festplatte zum temporären Speichern der gesamten komprimierten Datei, da dies eine Reihe zusätzlicher Schritte ist und die komprimierte Datei möglicherweise größer als mein verfügbarer Speicher ist.

Author: Ben N, 2016-03-28

5 answers

Kurz. NEIN. Komprimieren einer Datei erfordert ein gewisses Maß an "Fail-safe" Art des Denkens. Wenn der Komprimierungsprozess fehlschlägt, muss er so fehlschlagen können, dass Sie Ihre Datei nicht verlieren. Was würde passieren, wenn die Komprimierung auf halbem Weg durch die Datei fehlschlägt? Es gibt viele Komprimierungswerkzeuge, die einen temporären Ordner (der definierbar ist) verwenden können, mit dem die komprimierte Arbeitsdatei erstellt werden kann... bis der Vorgang abgeschlossen ist... dann löschen Sie das Original und schließlich legen Sie die komprimierte Datei in das richtige Ziel.

Sie werden niemals ein Dateikomprimierungstool finden, das die Datei während des Komprimierens im laufenden Betrieb umschreibt.

 2
Author: TheCompWiz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-03-28 22:20:24

Klicken Sie in MS File Explorer mit der rechten Maustaste auf den Treiberbuchstaben, wählen Sie Eigenschaften aus, aktivieren Sie "Dieses Laufwerk komprimieren, um Speicherplatz zu sparen" und klicken Sie auf "OK".

Mit etwas Glück wird es genügend Speicherplatz geben, damit Windows mehr Speicherplatz sparen und schließlich sogar die Datei komprimieren kann, die Sie auf der Festplatte komprimieren möchten.

Bitte beachten Sie - bei allen Zugriffen auf dieses Laufwerk kann es zu einem leichten Leistungseinbruch kommen.

 2
Author: Rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-03-28 22:47:40

Ich habe viele Kompressoren verwendet, und ich erinnere mich nicht ohne Weiteres daran, dass diese Funktionalität eine verfügbare Option in den verfügbaren Kompressoren ist.

Theoretisch könnte so etwas gemacht werden. Mit dem Befehl dd (der für Microsoft Windows heruntergeladen und mit vielen Unix-Varianten gebündelt werden kann) können Sie einen bestimmten Abschnitt der Datei extrahieren, der dann komprimiert werden kann. Dann müsste die Originaldatei neu dimensioniert werden. Abschneiden vom Ende der Datei: sei einfacher als vom Anfang der Datei abzuschneiden. (Ob dies zutrifft, hängt möglicherweise davon ab, wie Softwarecode implementiert wird.) Wenn dies zutrifft, kann das Komprimieren von Chunks in umgekehrter Reihenfolge erheblich schneller sein.

In der Praxis habe ich es normalerweise am besten gefunden, nach Möglichkeiten zu suchen, genügend Speicherplatz freizugeben, um beide (komprimierte und unkomprimierte) Versionen gleichzeitig zu haben. (Quick plug: Ich bin ein Fan von Disk Usage Reporting geworden: WinDirStat ' s installer oder KDirStat für etwas Ähnliches in Unix ohne Wein.) Dann, ich in der Regel, wie auch Raum für eine unkomprimierte Kopie, also kann ich entpacken, was ich habe, und vergleicht das mit dem original. Das kann sehr herausfordernd sein und kann mehrere Partitionen/Festplatten beinhalten. Es kann ziemlich schwierig sein, das abzuziehen, aber wenn ich das tue, dann kann ich die beiden großen Kopien löschen, an diesem Punkt fühle ich mich ein bisschen weniger vollgestopft.

 2
Author: TOOGAM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-03-30 23:25:27

Ich glaube also nicht, dass dies eine "Compress in place" - Lösung ist. Aber es spart etwas Arbeit, da es vermeidet, die Originaldateien nach der Komprimierung zurückgehen und löschen zu müssen:

  1. Klicken Sie mit der rechten Maustaste in den leeren Bereich des Ordners, in dem Sie Ihre komprimierten Dateien hosten möchten. Klicken Sie auf Neu > Komprimierter (gezippter) Ordner.
  2. Wählen Sie alle zu komprimierenden Dateien aus.
  3. Während Sie die Umschalttaste gedrückt halten, ziehen Sie sie auf den leeren, komprimierten Ordner, den Sie gerade erstellt haben.

Die die Dateien beginnen mit der Komprimierung und werden nach Abschluss der Komprimierung vom ursprünglichen Speicherort entfernt.

 0
Author: Matthew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-11 18:40:34

Sie können das Problem umgehen Wenn Sie einen USB-Stick oder eine externe Festplatte haben, sollten Sie gut zu gehen. Die meisten Komprimierungsprogramme verwenden standardmäßig den Temp-Ordner des Benutzers oder den Temp-Ordner des Systems. In Ihrem Fall wäre dies die vollständige Festplatte. Mit jedem modernen Komprimierungsprogramm sollten Sie jedoch das Arbeitsverzeichnis des Programms ändern können.

Nehmen Sie als Beispiel 7-zip, eines der beliebtesten Komprimierungsprogramme. Unter Extras\Optionen\Ordner können Sie das Arbeitsverzeichnis auf ein anderer Ordner oder Laufwerk. Wenn Sie also ein anständiges USB-Laufwerk oder eine externe Festplatte haben, können Sie dies als Arbeitsverzeichnis festlegen und die Datei dort speichern.

 -1
Author: Keltari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-03-28 22:50:50