Enkelt Konverter alle zip-arkivene til 7z-arkiv

Innholdsfortegnelse:

Enkelt Konverter alle zip-arkivene til 7z-arkiv
Enkelt Konverter alle zip-arkivene til 7z-arkiv

Video: Enkelt Konverter alle zip-arkivene til 7z-arkiv

Video: Enkelt Konverter alle zip-arkivene til 7z-arkiv
Video: Windows 10/11 and Windows Servers: Architecture: Unlock troubleshooting secrets - YouTube 2024, April
Anonim

Zip-formatet er standarden for filkomprimering, men mange strømbruker- og systemadministratortyper foretrekker å bruke 7z-formatet fordi det gir betydelig bedre komprimeringsforhold. Zip-formatet har noen få ting som går for det, for eksempel hastighet (i forhold til andre komprimeringsformater) og programstøtte.

For å få det beste fra begge verdener har vi opprettet et skript som konverterer zip-filer til 7z-filer med en enkelt kommando, en prosess vi kaller "dyp arkivering".

Praktiske bruksområder

Så hvorfor ville du trenge dette skriptet når du bare kunne lage 7z arkiver til å begynne med? Her er noen grunner:

  1. Enkelte programmer kan bare produsere zip-formatarkiver.
  2. Siden zip-komprimering er raskere enn 7z-komprimering, vil du kanskje raskt lage en zip-fil og deretter "dyp komprimere" den senere.

Vurder dette scenariet:

Du kjører et FTP-område der kundene laster opp data til deg i zip-format. Brukerne dine laster ned og bruker dataene etter behov, men du vil beholde disse filene på en stund, bare hvis du bruker dem igjen (i så fall er du en helt for å ha dem lett tilgjengelig). For å spare litt plass, kan du konvertere zip-arkiver til 7z-format og stanse dem bort.

Alternativt kan du erstatte kundeopplastede data fra scenariet ovenfor med sikkerhetskopierte brukerdata (eller hva annet du kan tenke på) og du kan se at det er mange praktiske applikasjoner for dette.

Manuset

@ECHO OFF ECHO Deep Archive ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Takes a Zip file and recompresses it as 7z archive. REM Script process: REM 1. Decompress the existing archive. REM 2. Compress the extracted files in 7z format. REM 3. (optional) Validate the new 7z file. REM 4. (optional) Delete the source archive. REM REM Usage: REM DeepArchive ZipFile REM REM Requirements: REM The 7-Zip command line tool (7za.exe) is in a location set in the PATH variable. REM REM Additional Notes: REM This script processes a single zip archive. REM To process all zip archives in a folder, use the ForFiles command from the command line: REM FORFILES /P 'pathtozipfiles' /M *.zip /C 'cmd /c DeepArchive @path' REM REM To run the archive compression/decompression as low priority background processes REM add this in front of the 7ZA commands (DO NOT add this in front of the validation 7ZA command): REM START /BelowNormal /Wait REM Adding the above command will use a new window to perform these operations. SETLOCAL EnableExtensions EnableDelayedExpansion REM Should the deep archive file be validated? (1=yes, 0=no) SET Validate=0 REM Compression level: 1,3,5,7,9 (higher=slower but more compression) SET CompressLevel=5 REM Delete source zip file on success? (1=yes, 0=no) SET DeleteSourceOnSuccess=1 REM ---- Do not modify anything below this line ---- SET ArchiveFile=%1 SET DeepFile=%ArchiveFile:.zip=.7z% SET tmpPath=%TEMP%%~nx1 SET tmpPathZip='%tmpPath%*' SET tmpPath='%tmpPath%' SET tmpFile='%TEMP%tmpDeepArchive.txt' IF NOT EXIST %tmpPath% ( MKDIR %tmpPath% ) ELSE ( RMDIR /S /Q %tmpPath% ) ECHO Extracting archive: %ArchiveFile% 7ZA x %ArchiveFile% -o%tmpPath% ECHO. ECHO Compressing archive: %DeepFile% 7ZA a -t7z -mx%CompressLevel% %DeepFile% %tmpPathZip% ECHO. IF {%Validate%}=={1} ( ECHO Validating archive: %DeepFile% 7ZA t %DeepFile% | FIND /C 'Everything is Ok' > %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

lenker

Last ned DeepArchive Script fra SysadminGeek.com

Last ned 7-Zip Command Line Tool

Anbefalt: