19Aug

Konverter nemt alle dine zip-arkiver til 7z-arkiver

click fraud protection

Zipformatet er standarden for filkomprimering, men mange strømbruger- og systemadministratortyper foretrækker at bruge 7z-formatet, fordi det giver signifikant bedre kompressionsforhold. Zipformatet har nogle ting, der går til det, såsom hastighed( i forhold til andre komprimeringsformater) og applikationssupport.

For at få det bedste fra begge verdener har vi lavet et script, der konverterer dine zip-filer til 7z-filer med en enkelt kommando, en proces, vi kalder "dyb arkivering".

Praktiske anvendelser

Så hvorfor skulle du have brug for dette script, når du bare kunne oprette 7z arkiver til at begynde med? Her er et par grunde:

  1. Visse programmer kan kun producere zip-formatarkiver.
  2. Da zip-komprimering er hurtigere end 7z-komprimering, kan du hurtigt lave en zip-fil og derefter "dyb komprimere" den senere.

Overvej dette scenario:

Du kører et FTP-websted, hvor kunder uploader data til dig i zip-format. Derefter downloader og bruger brugerne dine data efter behov, men du vil beholde disse filer i et stykke tid, bare hvis du har brug for dem igen( i så fald er du en helt for at få dem til rådighed).For at spare nogle pladser kan du konvertere zip-arkiverne til 7z-format og stash dem væk.

instagram viewer

Alternativt kan du erstatte kundeoploadede data fra ovenstående scenario med sikkerhedskopierede brugerdata( eller hvad du ellers kan tænke på), og du kan se, at der er mange praktiske applikationer til dette.

Skriften

@ECHO FRA ECHO Deep Archive ECHO Skrevet af: Jason Faulkner ECHO SysadminGeek.com ECHO.EKKO.REM Tar en Zip-fil og genkomprimerer den som 7z-arkiv. REM Script-proces: REM 1. Dekomprimer det eksisterende arkiv. REM 2. Komprimer de udpakkede filer i 7z format. REM 3.( valgfrit) Valider den nye 7z-fil. REM 4.( valgfrit) Slet kildearkivet. REM REM Anvendelse: REM DeepArchive ZipFile REM REM Krav: REM 7-Zip kommandolinjeværktøjet( 7za.exe) er placeret i PATH-variablen. REM REM Yderligere bemærkninger: REM Dette script behandler et enkelt zip-arkiv. REM For at behandle alle zip arkiver i en mappe, brug kommandoen ForFiles fra kommandolinjen: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @ path" REM REM For at køre arkivkomprimering / dekompressionSom lavprioriterede baggrundsprocesser tilføjer REM dette foran 7ZA-kommandoerne( Tilføj IKKE dette foran valideringen 7ZA-kommandoen): REM START / BelowNormal / Wait REM Tilføjelse af ovenstående kommando vil bruge et nyt vindue til at udføre disse operationer. SETLOCAL EnableExtensions EnableDelayedExpansion REM Skal den dybe arkivfil valideres?(1 = ja, 0 = nej) SET Validate = 0 REM Kompressionsniveau: 1,3,5,7,9( højere = langsommere men mere komprimering) SET CompressLevel = 5 REM Slet kilde zip-fil efter succes?(1 = ja, 0 = nej) SET DeleteSourceOnSuccess = 1 REM ---- Ikke ændrer noget under denne linje ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" HVIS IKKE EXIST% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR / S/ Q% tmpPath%) ECHO Uddrag arkiv:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Komprimere arkiv:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Validerende arkiv:% DeepFile% 7ZA t% DeepFile% | FIND / C "Alt er Ok" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!ECHO Validation passed.) ECHO.) GOTO Succes: Succes IF{ % DeleteSourceOnSuccess%} =={ 1} DEL / F / Q% DeepFile% ECHO. GOTO Fejl) ELSE( ECHO Validation passed. F / Q% ArkivFile% ECHO Succes GOTO Slut: Fejl ECHO Mislykkedes GOTO Slut: Slut IF EXIST% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Links

Download DeepArchiveScript fra SysadminGeek.com

Download 7-Zip Command Line Tool