Domovská » jak » Snadno převést všechny vaše archivy ZIP do archivu 7z

    Snadno převést všechny vaše archivy ZIP do archivu 7z

    Formát zip je standardem pro kompresi souborů, nicméně řada administrátorů typu power user a system preferuje formát 7z, protože nabízí výrazně lepší poměr komprese. Formát zip má několik věcí, jako je rychlost (relativně k jiným formátům komprese) a podpora aplikací.

    Chcete-li získat to nejlepší z obou světů, vytvořili jsme skript, který převede vaše soubory zip do souborů 7z s jediným příkazem, procesem, který nazýváme "hlubokou archivací".

    Praktické využití

    Tak proč byste potřeboval tento skript, kdybyste mohli začít vytvářet 7z archivy? Zde je několik důvodů:

    1. Některé aplikace mohou vytvářet pouze archivy zip formátu.
    2. Vzhledem k tomu, že komprese zip je rychlejší než 7z komprese, možná budete chtít rychle vytvořit soubor zip a pak jej "hluboce komprimovat".

    Zvažte tento scénář:

    Spustíte server FTP, kde zákazníci nahrají data ve formátu zip. Uživatelé pak stáhnou a používají data podle potřeby, ale chcete tyto soubory uchovat jen chvíli jen v případě, že je uživatel potřebuje znovu (v takovém případě jste hrdinou pro to, abyste je měli k dispozici). Chcete-li ušetřit nějaký prostor, můžete převést zip archivy do formátu 7z a uložit je.

    Alternativně můžete nahradit data ze staženého souboru se zálohovanými údaji o uživateli (nebo cokoli jiného, ​​co si myslíte) a můžete vidět, že existuje mnoho praktických aplikací pro toto.

    Scénář

    @ECHO OFF ECHO Hluboký archiv ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM přebírá soubor Zip a komprimuje jej jako 7z archiv. Proces REM Script: REM 1. Dekomprimujte stávající archiv. REM 2. Komprimovat extrahované soubory ve formátu 7z. REM 3. (nepovinné) Ověřte nový soubor 7z. REM 4. (volitelně) Odstraňte zdrojový archiv. Použití REM REM: REM DeepArchive ZipFile Požadavky na REM REM: REM Nástroj příkazového řádku 7-Zip (7za.exe) je umístěn v proměnné PATH. REM REM Další poznámky: REM Tento skript zpracovává jeden zip archiv. REM Pro zpracování všech zip archivů ve složce použijte příkaz příkazu ForFiles z příkazového řádku: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @path" REM REM Pro spuštění archivační komprese / dekomprese jako pozadí procesy s nízkou prioritou REM to přidá před příkazy 7ZA (NEPŘIPRAŇTE to před příkazem 7ZA pro validaci): REM START / BelowNormal / Wait REM Přidáním výše uvedeného příkazu použijete nové okno k provedení těchto operací. SETLOCAL EnableExtensions EnableDelayedExpansion REM Měl by být soubor hlubokého archivace ověřen? (1 = ano, 0 = ne) SET Validate = 0 REM Úroveň komprese: 1,3,5,7,9 (vyšší = pomalejší, ale více komprese) SET CompressLevel = 5 REM (1 = ano, 0 = ne) SET DeleteSourceOnSuccess = 1 REM ---- Neupravujte nic pod tímto řádkem ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 NASTAVENÍ tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" Pokud neexistuje% tmpPath% (MKDIR% tmpPath% / Q% tmpPath%) Archiv archivu ECHO:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. ECHO Kompresní archiv:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. Pokud je% % Validate% == 1 (archivace ověřování ECHO:% DeepFile% 7ZA%% DeepFile% | FIND / C "< %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

    Stáhnout skript DeepArchive od SysadminGeek.com

    Stáhněte si Nástroj příkazového řádku 7-Zip