19Aug

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

click fraud protection

Formát zip je standardem pro kompresi souborů, nicméně mnoho typů administrátorů a administrátorů systému preferuje použití formátu 7z, protože nabízí výrazně lepší poměr komprese. Formát zip má několik věcí, jako je rychlost( ve srovnání s jinými kompresními formáty) a podpora aplikací.

Abychom mohli 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 tento skript potřebovali, 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ž komprese 7z, možná budete chtít rychle vytvořit soubor zip a poté jej "hluboce komprimovat".

Zvažte tento scénář:

Spustíte server FTP, kde zákazníci nahrají data ve vašem zip formátu. Vaši uživatelé pak stáhnou a použijí data podle potřeby, ale chcete si 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 zip archivy převést do formátu 7z a skrýt je.

instagram viewer

Alternativně nahraďte data nahraná zákazníkem ze scénáře výše se zálohovanými daty uživatele( nebo cokoliv jiného si můžete myslet) a můžete vidět, že existuje mnoho praktických aplikací.

Skript

@ ECO 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.( volitelně) Ověřte nový soubor 7z. REM 4.( volitelně) Odstraňte zdrojový archiv. REM REM Použití: REM DeepArchive ZipFile Požadavky na REM REM: REM Nástroj příkazového řádku 7-Zip( 7za.exe) je v místě nastaveném 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í komprese / dekomprese archivujako procesy pozadí s nízkou prioritou, REM toto přidává 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 archivu 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 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" Pokud neexistuje% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR // 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{ % Validate%} =={ 1}( ECHO ověřuje archiv:% DeepFile% 7ZA t% DeepFile% | FIND / C "Everything is ok" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!Islaid! == 0( ECHO validace selhala! DELETE / F / Q% DeepFile% ECHO.GOTO Fail) ELSE( ECHO validace prošla ECHO.) GOTO Úspěch: Úspěch IF{ % DeleteSourceOnSuccess%} =={ F / Q% ArchiveFile% ECHO Úspěch GOTO Konec: Selhání ECHO selhalo GOTO Konec: Konec Pokud existují% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Odkazy

Download DeepArchiveSkript z SysadminGeek.com

Stáhnout nástroj pro příkazový řádek 7-Zip