Úvodná » ako » Ľahko previesť všetky vaše archívy ZIP do 7z archívov

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

    Formát zip je štandardom pre kompresiu súborov, avšak veľa používateľov a systémov administrátorov systému dáva prednosť použitiu 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í.

    Takže, aby sme získali to najlepšie z oboch svetov, vytvorili sme skript, ktorý skonvertuje 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ť archívy 7z? Tu je niekoľko dôvodov:

    1. Niektoré aplikácie môžu vytvárať iba archívy zip formátu.
    2. Pretože kompresia zip je rýchlejšia ako kompresia 7z, možno budete chcieť rýchlo vytvoriť zip súbor a potom ju "hlbšie komprimovať".

    Zvážte tento scenár:

    Spustíte web FTP, na ktorom vám zákazníci odovzdajú dáta vo formáte zip. Vaši používatelia potom stiahnu a používajú dáta podľa potreby, ale chcete tieto súbory uchovávať len na chvíľu len v prípade, že ich vaši používatelia potrebujú znova (v takom prípade ste hrdina, že ich máte k dispozícii). Ak chcete ušetriť nejaký priestor, môžete previesť zip archívy do formátu 7z a skryť ich.

    Môžete alternatívne nahradiť odovzdávané údaje zákazníkov zo scenára vyššie so zálohovanými údajmi používateľa (alebo čokoľvek, čo si môžete myslieť) a môžete vidieť, že existuje veľa praktických aplikácií..

    Scenár

    @ECHO 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) je 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 zip archívov 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 Pre spustenie kompresie / dekompresie archívu ako procesy na pozadí s nízkou prioritou, REM to pridá pred príkazy 7ZA (NEDÁVAJTE 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šie, ale viac kompresie) SET CompressLevel = 5 REM (1 = áno, 0 = nie) SET DeleteSourceOnSuccess = 1 REM ---- Nemodifikujte 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% / 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 je % Validate% == 1 (ECHO overenie archívu:% DeepFile% 7ZA t% DeepFile% | FIND / C "Všetko je 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 

    odkazy

    Stiahnite si skript DeepArchive od SysadminGeek.com

    Stiahnite si 7-Zip Command Line Tool