Ich suche nach einer Möglichkeit, einen großen Ordner in viele 20-MB-Dateien zu komprimieren. Ich möchte nicht, dass die Zip-Datei in kleinere aufgeteilt wird. Stattdessen möchte ich einige Unterdateien / Ordner in Gruppen gruppieren, die beim Komprimieren 20 MB groß sind.
Wenn Sie wissen, wie das geht, helfen Sie bitte!
Aktualisieren
Ich muss nur die kleineren komprimierten Dateien verwenden, die alleine entpackt werden können.
Ich beabsichtige, mit virustotal.com einen großen Ordner zu scannen.
Antworten:
In winzip: Fügen Sie die Dateien zur Zip-Datei hinzu, indem Sie entweder winzip starten und hinzufügen oder per Drag & Drop in winzip ziehen oder mit der rechten Maustaste auf die Dateien klicken und winzip 'zu zip hinzufügen ...'.
Dann in winzip:
Aktionen - Am unteren Rand von 'Teilegröße' teilen, 'Andere Größe' auswählen, dann 20 eingeben und mb auswählen
Erledigt!
quelle
Was Sie vorschlagen, ist im Wesentlichen eine Variation des Rucksackproblems , mit der zusätzlichen Wendung, dass Sie aufgrund der Dateikomprimierung nicht wissen, wie viel von Ihrem 20 MB "Rucksack" jedes Element belegen wird.
Die triviale Lösung wäre natürlich, einfach jede Datei einzeln zu komprimieren, aber das reduziert die Anzahl der Dateien nicht, so dass ich vermute, dass dies keine zufriedenstellende Lösung wäre.
Wenn ich mit diesem Problem konfrontiert würde, würde ich wahrscheinlich zunächst jede Datei einzeln an einen temporären Speicherort (oder im Speicher, ohne sie auf die Festplatte zu schreiben) komprimieren, damit ich für jede Datei eine ungefähre komprimierte Größe erhalten kann. Mit diesen Informationen wäre es dann möglich zu entscheiden, welche Dateien nach einem der Standardansätze für das Knapsack-Problem zusammengefasst werden sollen, und die tatsächlichen Zip-Dateien zu erstellen.
Angenommen, Sie haben eine Skriptsprache zur Verfügung und wissen, wie man sie verwendet, würde ich erwarten, dass dieser Ansatz ziemlich einfach zu automatisieren ist. Es manuell zu machen wäre ziemlich mühsam, wenn Sie mehr als eine Handvoll Dateien haben, mit denen Sie sich befassen müssen ...
quelle
Es ist viel einfacher, zip die Aufteilung für Sie durchführen zu lassen, als es selbst herauszufinden. Wenn Ihr Ziel 20 MB Zip-Dateien sind, müssen Sie die komprimierte Größe jeder Datei schätzen, bevor Sie sie dem Archiv hinzufügen. Gibt es einen Grund, warum Sie nicht einfach zip die Aufteilung für Sie übernehmen lassen möchten? So würden Sie es mit gnu zip machen:
Dadurch werden 20 MB komprimierte Dateien mit inkrementellen Indexnummern im Dateinamen erstellt.
quelle
Unter Linux gibt es ein Programm namens zipsplit , das genau dies tut. Es ist Teil des Standard-Zip-Pakets.
Es kann folgendermaßen ausgeführt werden:
um bigfile.zip in Teile von max. 20 MB aufzuteilen. Beachten Sie auch, dass einzelne enthaltene Dateien nicht aufgeteilt werden. Somit kann jedes Teil einzeln entpackt werden. Dies bedeutet auch, dass die Aufteilung nicht möglich ist, wenn eine einzelne Datei nicht in die maximale Teilegröße passt.
Update: Es scheint, dass es unter info-zip.org auch Binärdateien für Windows gibt, insbesondere in ftp://ftp.info-zip.org/pub/infozip/win32/zip300xn-x64.zip für Win 64.
quelle
Ich fürchte, keine leichte Aussicht.
Ich habe kürzlich ein Skript geschrieben, um Dateien in Unterverzeichnissen zu sammeln, die nicht größer als 4,3 GB sind, um sie einfach auf DVD zu speichern, aber das war alles unkomprimiert.
Mit Komprimierung - jetzt gibt es die Herausforderung. Sie können die Größe der Dateien nach der Komprimierung nicht vorhersagen. Sie können lediglich weitere Dateien in absteigender Reihenfolge zur Größe hinzufügen, bis sie 20 MB überschreiten, und dann die letzte Datei entfernen, die durch eine kleinere ersetzt wird, bis sie unter 20 MB fällt . Wenn Sie alle Dateien erschöpft haben und sie immer noch> 20 MB groß sind, legen Sie einfach die letzte Datei ab und fahren Sie mit der nächsten Zip-Datei fort.
Ziemlich kniffliges Scripting und ein ziemlich langsamer, schmerzhafter Prozess.
quelle
Ich weiß, dass dies ein alter Thread ist, aber ich habe dies nur mit 7-Zip gemacht .
Sie müssen die Option "Auf Volumen teilen" verwenden:
quelle
Dave schien die am besten programmierbare Lösung für das zu bieten , was OP verlangte. Ich habe herausgefunden, dass dies auch manuell erfolgen kann , wenn die folgenden Annahmen getroffen werden (dies ist kein rein technisches Problem - es ist eher ein organisatorisches als ein technisches Problem):
Durch die Verwendung dieser Methode mit 7-zip (Windows-Oberfläche und -Terminal) habe ich die Komprimierung in den neu generierten Zip-Dateien beibehalten.
Beginnen Sie, indem Sie alle Dateien in eine einzelne Zip-Datei in einem leeren Ordner (mit der gewünschten Komprimierungsmethode) komprimieren, z. B.
ALL.zip
und öffnen Sie sie:Test
Drücken Sie die Taste, um die Gesamtgröße zu bestätigen (dies berücksichtigt die Komprimierung):Extract
oderCopy
Taste , während das Hinzufügen zum Ende des Extraktionspfad einen neuen Ordner Namen (zB:plu_8MB
)ALL.zip
zip, löschen Sie diese Dateien einfach extrahiert (Vermeidung von falsch wieder Extraktionen) und wechseln Sie in den nächsten Ordner oder Teilmenge von Dateien;ALL.zip
in unabhängige Ordner extrahiert haben , löschen Sie diese Zip-Datei und öffnen Sie das Terminal in diesem Ordner .Art:
Drücken Sie ENTERund dies generiert eine Zip-Datei für jeden Ordner, den Sie gerade extrahiert haben.
quelle