19Aug

Converteer eenvoudig al uw zip-archieven naar 7z-archieven

Het zip-formaat is de standaard voor bestandscompressie, maar veel typen krachtige gebruikers en systeembeheerders geven de voorkeur aan het 7z-formaat omdat het aanzienlijk betere compressieverhoudingen biedt. Het zip-formaat heeft een aantal dingen die ervoor gaan, zoals snelheid( ten opzichte van andere compressie-indelingen) en ondersteuning voor toepassingen.

Om het beste van twee werelden te krijgen, hebben we een script gemaakt dat je zip-bestanden converteert naar 7z-bestanden met een enkel commando, een proces dat we "deep archiving" noemen.

Praktisch gebruik

Dus waarom zou u dit script nodig hebben als u in het begin 7z-archieven kon maken? Hier zijn een paar redenen:

  1. Bepaalde applicaties kunnen alleen zip-formaat archieven produceren.
  2. Omdat zip-compressie sneller is dan 7z-compressie, wil je misschien snel een zipbestand maken en dit later "deep comprimeren".

Overweeg dit scenario:

U voert een FTP-site uit waarop klanten gegevens naar u uploaden in zip-indeling. Uw gebruikers downloaden en gebruiken de gegevens vervolgens naar behoefte, maar u wilt deze bestanden een tijdje bewaren voor het geval uw gebruikers ze opnieuw nodig hebben( in welk geval u een held bent om ze beschikbaar te hebben).Om wat ruimte te besparen, kunt u de zip-archieven converteren naar het 7z-formaat en ze wegbergen.

Vervang alternatief door klanten geüploade gegevens uit het bovenstaande scenario met geback-upte gebruikersgegevens( of wat u maar kunt bedenken) en u kunt zien dat er veel praktische toepassingen voor zijn.

Het script

@ECHO UIT ECHO Deep Archive ECHO Geschreven door: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM neemt een zip-bestand en decomprimeert het als 7z-archief. REM Script-proces: REM 1. Decomprimeer het bestaande archief. REM 2. Comprimeer de uitgepakte bestanden in 7z-formaat. REM 3.( optioneel) Valideer het nieuwe 7z-bestand. REM 4.( optioneel) Wis het bronarchief. REM REM Gebruik: REM DeepArchive ZipFile REM REM Vereisten: REM Het 7-Zip commandolijn-tool( 7za.exe) bevindt zich op een locatie die is ingesteld in de variabele PATH.REM REM Aanvullende opmerkingen: REM Dit script verwerkt een enkel zip-archief. REM Om alle zip-archieven in een map te verwerken, gebruikt u de opdracht ForFiles op de opdrachtregel: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Om de archiefcompressie / decompressie uit te voerenals achtergrondprocessen met lage prioriteit REM voeg dit toe voor de 7ZA-commando's( NIET toevoegen voor de validatie 7ZA-opdracht): REM START / BelowNormal / Wait REM Het toevoegen van de bovenstaande opdracht zal een nieuw venster gebruiken om deze operaties uit te voeren. SETLOCAL EnableExtensions EnableDelayedExpansion REM Moet het diepe archiefbestand worden gevalideerd?(1 = ja, 0 = nee) SET Validate = 0 REM Compressieniveau: 1,3,5,7,9( hoger = langzamer maar meer compressie) SET CompressLevel = 5 REM Delete bron zipbestand op succes?(1 = ja, 0 = nee) SET DeleteSourceOnSuccess = 1 REM ---- Wijzig niets onder deze regel ---- 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 Extraheren van archief:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Comprimerend archief:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Archief valideren:% DeepFile% 7ZA t% DeepFile% | FIND / C "Alles is OK" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!IsValid! == 0( ECHO-validatie mislukt! DEL / F / Q% DeepFile% ECHO. GOTO mislukt) ELSE( ECHO-validatie geslaagd) ECHO.) GOTO-succes: geslaagd IF{ % DeleteSourceOnSuccess%} =={ 1} DEL /F / Q% ArchiveFile% ECHO Succes GOTO einde: mislukt ECHO mislukt GOTO einde: einde IF EXIST% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Links

DeepArchive downloadenScript van SysadminGeek.com

Download 7-Zip Command Line Tool