Preprosto pretvorite vse vaše arhive Zip v arhive 7z
Oblika zapisa zip je standard za stiskanje datotek, ne glede na to, da številne vrste uporabnikov in sistemskih skrbnikov raje uporabljajo format 7z, ker ponuja bistveno boljše razmerje stiskanja. Format zip ima nekaj stvari, ki se nanašajo na to, kot so hitrost (glede na druge formate stiskanja) in podporo za aplikacije.
Da bi dobili najboljše iz obeh svetov, smo ustvarili skript, ki bo pretvoril vaše zip datoteke v 7z datoteke z enim ukazom, proces, ki ga imenujemo »globoko arhiviranje«..
Praktične uporabe
Torej, zakaj bi potrebovali ta skript, ko bi lahko začeli ustvarjati 7z arhive? Tukaj je nekaj razlogov:
- Nekatere aplikacije lahko ustvarjajo arhive zip formatov.
- Ker je stiskanje zip hitrejše od 7z stiskanja, boste morda želeli hitro izdelati datoteko zip in nato "globoko stisniti" kasneje.
Upoštevajte ta scenarij:
Zaženete spletno mesto FTP, kjer vam uporabniki nalagajo podatke v zapisu zip. Vaši uporabniki nato prenesejo in po potrebi uporabijo podatke, vendar hočete te datoteke hraniti nekaj časa samo v primeru, da jih bodo vaši uporabniki spet potrebovali (v tem primeru ste junak, ki vam je na voljo). Da bi prihranili nekaj prostora, lahko arhive zip pretvorite v 7z format in jih shranite.
Lahko pa tudi zamenjate prenesene podatke o strankah iz zgornjega scenarija z varnostnimi kopijami podatkov (ali karkoli se lahko spomnite) in vidite, da je za to veliko praktičnih aplikacij.
Scenarij
@ECHO OFF ECHO Deep Archive ECHO Avtor: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Vzame Zip datoteko in jo ponovno stisne kot 7z arhiv. REM Script proces: REM 1. Razširite obstoječi arhiv. REM 2. Stisnite izpisane datoteke v 7z formatu. REM 3. (neobvezno) Potrdite novo 7z datoteko. REM 4. (neobvezno) Izbrišite izvorni arhiv. REM REM Uporaba: REM DeepArchive ZipFile REM REM Zahteve: REM Orodje za ukazno vrstico 7-Zip (7za.exe) je na lokaciji, nastavljeni v spremenljivki PATH. REM REM Dodatne opombe: REM Ta skript obdeluje en sam zip arhiv. REM Za obdelavo vseh arhivov zipov v mapi uporabite ukaz ForFiles iz ukazne vrstice: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @path" kot ozadje z nizko prioriteto REM doda to pred ukazi 7ZA (NE dodajajte pred ukazom validacije 7ZA): REM START / PodNormalno / Čakaj REM Dodajanje zgornjega ukaza bo uporabilo novo okno za izvajanje teh operacij. SETLOCAL EnableExtensions EnableDelayedExpansion REM Ali je potrebno globoko arhivsko datoteko preveriti? (1 = da, 0 = ne) SET Validate = 0 REM Stopnja stiskanja: 1,3,5,7,9 (višja = počasnejša, vendar večja kompresija) SET CompressLevel = 5 REM Izbriši izvorno datoteko zip na uspeh? (1 = da, 0 = ne) SET DeleteSourceOnSuccess = 1 REM ---- Ne spreminjajte ničesar pod to črto ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" Če ne obstaja% tmpPath% (MKDIR% tmpPath%) ELSE (RMDIR / S / Q% tmpPath%) ECHO Izvleček arhiva:% ArchiveFile% 7ZA x% Arhivska datoteka% -o% tmpPath% ECHO. ECHO stiskanje arhiva:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. ČE % Validate% == 1 (ECHO preverjanje arhiva:% DeepFile% 7ZA t% DeepFile% | FIND / C "Vse je v redu">% 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
Povezave
Prenesite DeepArchive Script iz SysadminGeek.com
Prenesite orodje 7-Zip Command Line Tool