19Aug
ZIP-vorming on failide tihendamise standard, kuid paljud võimsuse kasutaja ja süsteemi administraatori tüübid eelistavad kasutada 7z-vormingut, kuna see pakub oluliselt paremat tihendusastmeid. ZIP-vormingus on selle jaoks mõned asjad, nagu näiteks kiirus( võrreldes teiste tihendusvormingutega) ja rakenduste tugi.
Nii et parima mõlemast maailmast oleme loonud skripti, mis teisendab teie zip-failid 7z-failidesse ühe käsuga - protsessiga, mida me nimetame "sügavaks arhiveerimiseks".
Praktilisi kasutusalasid
Miks sa vajad seda skripti, kui saaksite alustada just 7z-arhiivi loomist? Siin on paar põhjused:
- Teatud rakendused võivad toota ainult zip-vormingus arhiive.
- Kuna zip-pakkimine on kiirem kui 7z-kompressioon, võite soovi korral kiiresti luua zip-faili ja seejärel "sügavuti suruda" hiljem.
Kaaluge seda stsenaariumi:
Käitate FTP saiti, kus kliendid laadivad teiega andmeid zip-formaadis. Teie kasutajad laadivad seejärel vajalikud andmed alla ja kasutavad neid, kuid soovid neid faile mõneks ajaks hoida, kui teie kasutajad vajavad seda uuesti( sel juhul olete kangelane nende hõlpsasti kättesaadavaks tegemise eesmärgil).Mõne ruumi päästmiseks võite zip-arhiivid teisendada 7z-vormingus ja lohistada need ära.
Alternatiivselt asendage kliendi üleslaaditud andmed ülaltoodud stsenaariumilt varundatud kasutajaandmetega( või muu, mida võite mõelda) ja näete, et selleks on palju praktilisi rakendusi.
Script
@ECHO OFF ECHO sügav arhiiv ECHO Kirjutas: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM võtab Zip-faili ja taastab selle 7z-arhiivina. REM skriptiprotsess: REM 1. Vabasta olemasolev arhiiv. REM 2. Kompresseerige väljatõmmatud failid 7z formaadis. REM 3.( valikuline) Uue 7z-faili kinnitamine. REM 4.( valikuline) Kustuta allikaarhiiv. REM REM Kasutamine: REM DeepArchive ZipFile REM REM Nõuded: REM 7-Zip käsurea tööriist( 7za.exe) asub PATHi muutujaga määratud asukohas. REM REM Lisamärkused: REM See skript töötleb ühte zip-arhiivi. REM Kõigi kaustade zip-arhiivide töötlemiseks kasutage käsurealt käsku ForFiles: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Arhiivi tihendamise / dekompressiooni käivitamisekskui madala prioriteediga taustprotsessid REM lisada see ees 7ZA käskude( ÄRGE lisage seda valideerimise 7ZA käsu ees): REM START / AllpoolNormal / Oota REM Ülaltoodud käsu lisamine kasutab uut akent nende toimingute tegemiseks. SETLOCAL EnableExtensions EnableDelayedExpansion REM Kas sügav arhiivifail peab olema valideeritud?(1 = jah, 0 = ei) SET Validate = 0 REM Kompressioonitaseme tase: 1,3,5,7,9( suurem = aeglasem, kuid suurem kokkusurumine) SET CompressLevel = 5 REM Kustutada lähtekoodi zip-fail eduks?(1 = jah, 0 = ei) SET DeleteSourceOnSuccess = 1 REM ---- Ärge muutke midagi selle rea alla ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TmpPath%/ Q% tmpPath%) ECHO Arhiivi väljavõtmine:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Arhiivisurve:% DeepFile% 7ZA -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Arhiivi kinnitamine:% DeepFile% 7ZA t% DeepFile% | FIND / C "Kõik on OK" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!IsValid! == 0( ECHO Validation ebaõnnestus! DEL / F / Q% DeepFile% ECHO. GOTO Fail) ELSE( ECHO kinnitamine läbis.) ECHO.) GOTO Edu: edu IF{ % DeleteSourceOnSuccess%} =={ 1} DEL /F / Q% ArchiveFile% ECHO edu GOTO Lõpp: ebaõnnestus ECHO ebaõnnestus GOTO Lõpp: Lõpp IF EXIST% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCALLingid
Laadi alla DeepArchiveSysadminGeek.com-i skript
Laadige alla 7-Zip käsurea tööriist