Konvertieren Sie ganz einfach alle Ihre Zip-Archive in 7z-Archive
Das ZIP-Format ist der Standard für die Dateikomprimierung. Viele Power User- und System-Admin-Typen bevorzugen jedoch das 7Z-Format, da sie wesentlich bessere Komprimierungsraten bieten. Für das ZIP-Format gibt es ein paar Dinge wie Geschwindigkeit (relativ zu anderen Komprimierungsformaten) und Anwendungsunterstützung.
Um das Beste aus beiden Welten zu erhalten, haben wir ein Skript erstellt, mit dem Sie Ihre ZIP-Dateien mit einem einzigen Befehl in 7Z-Dateien konvertieren können. Dieser Vorgang wird "Tiefenarchivierung" genannt..
Praktische Anwendungen
Warum sollten Sie dieses Skript also benötigen, wenn Sie zunächst 7z-Archive erstellen könnten? Hier sind ein paar Gründe:
- Bestimmte Anwendungen können nur Archive im ZIP-Format erstellen.
- Da die ZIP-Komprimierung schneller als 7Z-Komprimierung ist, möchten Sie möglicherweise eine ZIP-Datei schnell erstellen und sie später "tief komprimieren".
Betrachten Sie dieses Szenario:
Sie betreiben eine FTP-Site, auf der Kunden Daten im ZIP-Format zu Ihnen hochladen. Ihre Benutzer laden die Daten dann nach Bedarf herunter und verwenden sie. Sie möchten diese Dateien jedoch für eine Weile aufbewahren, falls Sie sie erneut benötigen (in diesem Fall sind Sie ein Held, weil sie verfügbar sind). Um Platz zu sparen, können Sie die ZIP-Archive in das 7Z-Format konvertieren und verstauen.
Ersetzen Sie alternativ die vom Kunden hochgeladenen Daten aus dem obigen Szenario durch gesicherte Benutzerdaten (oder was auch immer Sie sich vorstellen können), und Sie können feststellen, dass es viele praktische Anwendungen dafür gibt.
Das Skript
@ECHO OFF ECHO Deep Archive ECHO Geschrieben von: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Nimmt eine ZIP-Datei und komprimiert sie erneut als 7z-Archiv. REM-Skript-Prozess: REM 1. Dekomprimieren Sie das vorhandene Archiv. REM 2. Komprimieren Sie die extrahierten Dateien im 7z-Format. REM 3. (optional) Bestätigen Sie die neue 7z-Datei. REM 4. (optional) Löschen Sie das Quellarchiv. REM REM-Verwendung: REM DeepArchive ZipFile REM REM-Anforderungen: REM Das 7-Zip-Befehlszeilentool (7za.exe) befindet sich in einer Position, die in der Variablen PATH festgelegt ist. REM REM Zusätzliche Hinweise: REM Dieses Skript verarbeitet ein einzelnes ZIP-Archiv. REM Um alle ZIP-Archive in einem Ordner zu verarbeiten, verwenden Sie den Befehl ForFiles von der Befehlszeile aus: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c" DeepArchive @path "REM REM Zum Ausführen der Archivkomprimierung / -dekomprimierung Als Hintergrundprozesse mit niedriger Priorität setzen REM dies vor den 7ZA-Befehlen (NICHT vor dem 7ZA-Validierungsbefehl): REM START / BelowNormal / Wait REM Wenn Sie den obigen Befehl hinzufügen, werden diese Vorgänge in einem neuen Fenster ausgeführt. SETLOCAL EnableExtensions EnableDelayedExpansion REM Soll die tiefe Archivdatei überprüft werden? (1 = Ja, 0 = Nein) SET Validate = 0 REM Komprimierungsgrad: 1,3,5,7,9 (höher = langsamer, aber mehr Komprimierung) SET CompressLevel = 5 REM Quellcode-Quelldatei bei Erfolg löschen? (1 = Ja, 0 = Nein) SET DeleteSourceOnSuccess = 1 REM ---- Ändern Sie nichts unterhalb dieser Zeile ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" WENN NICHT% tmpPath% (MKDIR% tmpPath%) ELSE (RMDIR / S) / Q% tmpPath%) ECHO Extrahieren des Archivs:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. ECHO-Komprimierungsarchiv:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. WENN % Validate% == 1 (ECHO-Validierungsarchiv:% DeepFile% 7ZA t% DeepFile% | FIND / C "Alles ist in Ordnung")>% tmpFile% SET / P IsValid =< %tmpFile% IF !IsValid!==0 ( ECHO Validation failed! DEL /F /Q %DeepFile% ECHO. GOTO Fail ) ELSE ( ECHO Validation passed. ) ECHO. ) GOTO Success :Success IF %DeleteSourceOnSuccess%==1 DEL /F /Q %ArchiveFile% ECHO Success GOTO End :Fail ECHO Failed GOTO End :End IF EXIST %tmpFile% DEL /F /Q %tmpFile% IF EXIST %tmpPath% RMDIR /S /Q %tmpPath% ENDLOCAL
Links
Laden Sie das DeepArchive-Skript von SysadminGeek.com herunter
Laden Sie das 7-Zip-Befehlszeilentool herunter