Lengvai konvertuokite visus savo archyvus Zip į 7z archyvus

Turinys:

Lengvai konvertuokite visus savo archyvus Zip į 7z archyvus
Lengvai konvertuokite visus savo archyvus Zip į 7z archyvus
Anonim

ZIP formatas yra failų suspaudimo standartas, tačiau daugelis vartotojų ir sistemos administratorių tipų pageidauja naudoti 7z formatą, nes jis suteikia žymiai geresnių glaudinimo santykių. Pašto formatas turi keletą dalykų, pavyzdžiui, greitis (palyginti su kitais suspaudimo formatais) ir programų palaikymas.

Taigi, norėdami gauti geriausią iš abiejų pasaulių, sukūrėme scenarijų, kuris konvertuos jūsų zip failus į 7z failus vienu komanda, procesą, kurį vadiname "giliu archyvavimu".

Praktiniai naudojimo būdai

Taigi kodėl jums reikės šio scenarijaus, kai tik pradėsite kurti 7z archyvus? Štai keletas priežasčių:

  1. Kai kurios programos gali sukurti tik ZIP formato archyvus.
  2. Kadangi "zip" suspaudimas yra greitesnis nei 7z suspaudimas, galbūt norėsite greitai sukurti zip failą, o vėliau jį "giliai suspausti".

Apsvarstykite šį scenarijų:

Jūs paleisti FTP svetainę, kurioje klientai įkelia jus į zip formatu. Tada jūsų vartotojai atsisiųs ir naudos duomenis, jei norite, bet jūs norite išsaugoti šiuos failus tam tikru metu, jei jūsų vartotojai vėl reikės (tokiu atveju jūs esate herojus, nes jie lengvai prieinami). Norėdami sutaupyti šiek tiek vietos, galite konvertuoti "zip" archyvus į 7z formatą ir juos pašalinti.

Be to, pakartotinai pakeiskite kliento įkeltus duomenis iš anksčiau pateikto scenarijaus su atsarginiais naudotojo duomenimis (ar viskuo, ką galėtumėte galvoti) ir pamatysite, kad yra daug praktinių programų.

Scenarijus

@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

Nuorodos

Atsisiųskite "DeepArchive" scenarijų iš "SysadminGeek.com"

Atsisiųskite 7-Zip komandinės eilutės įrankį

Rekomenduojamas: