19Aug
Das Zip-Format ist der Standard für die Dateikomprimierung. Viele Power User- und Systemadministratoren bevorzugen jedoch das 7z-Format, da es deutlich bessere Komprimierungsraten bietet. Das Zip-Format hat ein paar Dinge wie Geschwindigkeit( im Vergleich zu anderen Komprimierungsformaten) und Anwendungsunterstützung.
Um das Beste aus beiden Welten zu erhalten, haben wir ein Skript erstellt, das Ihre Zip-Dateien mit einem einzigen Befehl in 7z-Dateien konvertiert, ein Prozess, den wir "Deep Archiving" nennen.
Praktische Anwendung
Warum brauchen Sie dieses Skript, wenn Sie einfach nur 7z-Archive erstellen können? Hier sind ein paar Gründe:
- Bestimmte Anwendungen können nur Zip-Format-Archive produzieren.
- Da die Zip-Komprimierung schneller als die 7z-Komprimierung ist, möchten Sie möglicherweise schnell eine Zip-Datei erstellen und sie später "deep compress"( komprimieren).
Stellen Sie sich dieses Szenario vor:
Sie führen eine FTP-Site aus, auf der Kunden Daten im Zip-Format an Sie hochladen. Ihre Benutzer laden dann die Daten nach Bedarf herunter und verwenden sie, aber Sie möchten diese Dateien für eine Weile behalten, falls Ihre Benutzer sie wieder benötigen( in diesem Fall sind Sie ein Held, wenn Sie sie schnell verfügbar haben).Um etwas Speicherplatz zu sparen, könnten Sie die Zip-Archive in das 7z-Format konvertieren und dort speichern.
Ersetzen Sie alternativ die vom Kunden hochgeladenen Daten aus dem obigen Szenario durch gesicherte Benutzerdaten( oder was Ihnen sonst noch einfällt) und Sie können sehen, dass es viele praktische Anwendungen dafür gibt.
Das Skript
@ECHO AUS ECHO Deep Archive ECHO Geschrieben von: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM Nimmt eine Zip-Datei und rekomprimiert sie als 7z-Archiv. REM Script-Prozess: REM 1. Dekomprimieren Sie das vorhandene Archiv. REM 2. Komprimiere die extrahierten Dateien im 7z-Format. REM 3.( optional) Überprüfen 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 an einem Ort, der in der PATH-Variablen 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 über die Befehlszeile: REM FORFILES / P "PfadZipfiles" / M *. zip / C "cmd / c DeepArchive @Path" REM REM Zum Ausführen der Archivkomprimierung / Dekomprimierungals Hintergrundprozess mit niedriger Priorität REM fügen Sie dies vor den 7ZA-Befehlen hinzu( fügen Sie dies NICHT vor dem Befehl validation 7ZA hinzu): REM START / BelowNormal / Wait REM Wenn Sie den obigen Befehl verwenden, wird ein neues Fenster für diese Operationen verwendet. SETLOCAL EnableExtensions EnableDelayedExpansion REM Soll die tiefe Archivdatei validiert werden?(1 = ja, 0 = nein) SET Validate = 0 REM Komprimierungsstufe: 1,3,5,7,9( höher = langsamer, aber mehr Kompression) SET CompressLevel = 5 REM Quell-Zip-Datei bei Erfolg löschen?(1 = ja, 0 = nein) SET DeleteSourceOnSuccess = 1 REM ---- Ändere nichts unter dieser Zeile ---- SET ArchiveFile =% 1 SET DeepFile =% Archivdatei:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 SET tmpPathZip = "% tmpPfad% *" SET tmpPath = "% tmpPfad%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" WENN NICHT EXIST% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR / S/ Q% tmpPath%) ECHO Archiv wird extrahiert:% ArchiveFile% 7ZA x% Archivdatei% -o% tmpPath% ECHO.ECHO Komprimierungsarchiv:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Validierungsarchiv:% DeepFile% 7ZA t% DeepFile% | FIND / C "Alles ist OK" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!IsValid! == 0( ECHO-Validierung fehlgeschlagen! DEL / F / Q% DeepFile% ECHO. GOTO fehlgeschlagen) ELSE( ECHO-Validierung bestanden.) ECHO.) GOTO Erfolg: Erfolg IF{ % DeleteSourceOnSuccess%} =={ 1} DEL /F / Q% Archivdatei% ECHO Erfolg GOTO Ende: fehlgeschlagen ECHO fehlgeschlagen GOTO Ende: Ende IF EXIST% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPfad% RMDIR / S / Q% tmpPfad% ENDLOCALLinks
DeepArchive herunterladenSkript von SysadminGeek.com
Laden Sie das 7-Zip Befehlszeilenwerkzeug
herunter