Enkelt konvertera alla dina zip-arkiv till 7z-arkiv
Zip-formatet är standarden för filkomprimering, men många typer av strömanvändare och systemadministratörer föredrar att använda 7z-formatet eftersom det ger signifikant bättre komprimeringsförhållanden. Zipformatet har några saker som går till det, till exempel hastighet (i förhållande till andra komprimeringsformat) och applikationssupport.
För att få det bästa av båda världarna har vi skapat ett manus som kommer att konvertera dina zip-filer till 7z-filer med ett enda kommando, en process som vi kallar "djup arkivering".
Praktiska användningsområden
Så varför skulle du behöva det här skriptet när du bara kan skapa 7z-arkiv till att börja med? Här är några skäl:
- Vissa program kan bara skapa zip-formatarkiv.
- Eftersom zip-komprimering är snabbare än 7z-komprimering, kanske du vill snabbt skapa en zip-fil och sedan "djupt komprimera" den senare.
Tänk på detta scenario:
Du kör en FTP-plats där kunder laddar upp data till dig i zip-format. Dina användare hämtar sedan och använder data efter behov men du vill behålla dessa filer en stund bara om du behöver dina användare igen (i så fall är du hjälte för att de är tillgängliga). För att spara lite utrymme kan du konvertera zip-arkiven till 7z-format och stash dem bort.
Alternativt ersätt kundladdade data från scenariot ovan med säkerhetskopierad användardata (eller vad du än kan tänka dig) och du kan se att det finns många praktiska tillämpningar för detta.
Manuset
@ECHO AV ECHO Deep Archive ECHO Skrivet av: Jason Faulkner ECHO SysadminGeek.com ECHO. EKO. REM Tar en Zip-fil och komprimerar den som 7z-arkiv. REM Script-processen: REM 1. Dekomprimera det befintliga arkivet. REM 2. Komprimera de extraherade filerna i 7z-format. REM 3. (valfritt) Bekräfta den nya 7z-filen. REM 4. (valfritt) Ta bort källarkivet. REM REM Användning: REM DeepArchive ZipFile REM REM Krav: REM 7-Zip kommandoradsverktyget (7za.exe) är placerat i PATH-variabeln. REM REM Ytterligare anmärkningar: REM Detta skript bearbetar ett enda zip-arkiv. REM För att bearbeta alla zip-arkiv i en mapp, använd kommandot ForFiles från kommandoraden: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @ path" REM REM För att köra arkivkomprimering / dekompression REM START / BelowNormal / Wait REM Lägg till ovanstående kommando kommer att använda ett nytt fönster för att utföra dessa operationer. REM START / BelowNormal / Wait REM Lägg till ovanstående kommando kommer att använda ett nytt fönster för att utföra dessa operationer. SETLOCAL EnableExtensions EnableDelayedExpansion REM Om den djupa arkivfilen valideras? (1 = ja, 0 = nej) SET Validate = 0 REM Kompressionsnivå: 1,3,5,7,9 (högre = långsammare men mer komprimering) SET CompressLevel = 5 REM Ta bort käll zip-filen på framgång? (1 = ja, 0 = nej) SET DeleteSourceOnSuccess = 1 REM ---- Ändra inte något under den här raden ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" OM INTE EXISTER% tmpPath% (MKDIR% tmpPath%) ELSE (RMDIR / S / Q% tmpPath%) ECHO Utdragningsarkiv:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. ECHO Komprimera arkiv:% DeepFile% 7ZA a -t7z -mx% Komprimera nivå%% DeepFile%% tmpPathZip% ECHO. IF % Validate% == 1 (ECHO Validerande arkiv:% DeepFile% 7ZA t% DeepFile% | FIND / C "Allt är 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
länkar
Hämta DeepArchive Script från SysadminGeek.com
Hämta 7-Zip Command Line Tool