19Aug

Ľahko previesť všetky vaše archívy ZIP na archívy 7z

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:

  1. Niektoré aplikácie môžu vytvárať iba archívy zip formátu.
  2. 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% ENDLOCAL

Odkazy

Stiahnuť DeepArchiveSkript z SysadminGeek.com

Stiahnite si 7-Zip príkazový riadok