19Aug
Formát zip je štandardom pre kompresiu súborov, avšak mnoho užívateľov a systémových administrátorov preferuje použitie formátu 7z, pretože ponúka výrazne lepšie kompresné pomery. Formát zip má niekoľko vecí, ako napríklad rýchlosť( v porovnaní s inými formátmi kompresie) a podpora aplikácií.
Aby sme získali to najlepšie z obidvoch svetov, vytvorili sme skript, ktorý bude konvertovať vaše súbory zip do 7z súborov s jedným príkazom, procesom, ktorý nazývame "hlboké archivovanie".
Praktické využitie
Tak prečo by ste potrebovali tento skript, keď by ste mohli vytvoriť iba archívy 7z? Tu je niekoľko dôvodov:
- Niektoré aplikácie môžu vytvárať iba archívy zip formátu.
- Keďže zip kompresia je rýchlejšia ako kompresia 7z, možno budete chcieť rýchlo vytvoriť zip súbor a neskôr ju "hlbšie komprimovať".
Zvážte tento scenár:
Spustenie FTP stránky, kde zákazníci nahrať dáta k vám vo formáte zip. Vaši používatelia potom stiahli a použili dáta podľa potreby, ale chcete si tieto súbory uchovať len chvíľu, len ak si ich vaši používatelia potrebujú znova( v tom prípade ste hrdina, že ich máte k dispozícii).Aby ste ušetrili nejaký priestor, mohli by ste previesť zip archívy do formátu 7z a skryť ich.
Namiesto toho môžete nahradiť údaje odovzdané zákazníkom z vyššie uvedeného scenára so zálohovanými údajmi používateľa( alebo čokoľvek iné, čo si môžete predstaviť) a môžete vidieť, že existuje veľa praktických aplikácií.
Skript
@ ECO OFF ECHO Deep Archív ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM Zachytáva súbor Zip a znova ho komprimuje ako 7z archív. Proces REM Script: REM 1. Dekomprimujte existujúci archív. REM 2. Komprimovať extrahované súbory vo formáte 7z. REM 3.( voliteľné) Overenie nového súboru 7z. REM 4.( voliteľné) Odstráňte zdrojový archív. REM REM Použitie: REM DeepArchive ZipFile REM REM Požiadavky: REM Nástroj príkazového riadku 7-Zip( 7za.exe) sa nachádza v mieste nastavenom v premennej PATH.REM REM Ďalšie poznámky: REM Tento skript spracováva jeden arch zip. REM Pre spracovanie všetkých archívov zip v priečinku použite príkaz ForFiles z príkazového riadku: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Spustenie kompresie / dekompresie archívuako procesy na pozadí s nízkou prioritou, REM to pridá pred príkazy 7ZA( NEPONÁJAJTE to pred príkazom validácie 7ZA): REM START / BelowNormal / Wait REM Pridanie vyššie uvedeného príkazu použije nové okno na vykonanie týchto operácií.SETLOCAL EnableExtensions EnableDelayedExpansion REM Mal by sa overiť hĺbkový archív?(1 = áno, 0 = nie) SET Validate = 0 REM Úroveň kompresie: 1,3,5,7,9( vyššia = pomalšia, ale kompresná) SET CompressLevel = 5 REM(1 = áno, 0 = nie) SET DeleteSourceOnSuccess = 1 REM ---- Neupravujte nič pod týmto riadkom ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 NASTAVENIE tmpPathZip = "% tmpPath% *" NASTAVENIE tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" Ak neexistuje% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR // Q% tmpPath%) ECHO Extrakčný archív:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Kompresný archív:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.Ak{ % Validate%} =={ 1}( ECHO overenie archívu:% DeepFile% 7ZA t% DeepFile% | FIND / C "Všetko je v poriadku" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!Islaid! == 0( ECHO Validácia zlyhala! DELTA / F / Q% DeepFile% ECHO.GOTO Fail) ELSE( ECHO validácia prešla ECHO.) GOTO Úspech: Úspech IF{ % DeleteSourceOnSuccess%} =={ 1}F / Q% Archív súboru% ECHO Úspech GOTO Koniec: Zlyhanie ECHO Zlyhalo GOTO Koniec: Koniec Ak existuje% tmpFile% DEL / F / Q% tmpFile% AK EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCALOdkazy
Stiahnuť DeepArchiveSkript z SysadminGeek.com
Stiahnite si 7-Zip príkazový riadok