Startpagina » hoe » Converteer eenvoudig al uw zip-archieven naar 7z-archieven

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

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

    Om het beste van beide werelden te krijgen, hebben we een script gemaakt dat uw zip-bestanden converteert naar 7z-bestanden met één opdracht, een proces dat we "deep archiving" noemen.

    Praktisch gebruik

    Dus waarom zou je dit script nodig hebben om 7z-archieven te kunnen 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.

    Of vervang door de klant 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 zijn voor dit.

    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 Voor het uitvoeren van de archiefcompressie / decompressie als 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 Bronbestand zipbestand verwijderen bij 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">% 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

    Download DeepArchive Script van SysadminGeek.com

    Download 7-Zip Command Line Tool