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ů:
- Některé aplikace mohou vytvářet pouze archivy zip formátu.
- 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