19Aug

Preprosto pretvorite vse vaše Zip arhivov v 7z arhivov

click fraud protection

Zip format je standard za stiskanje datotek, vendar pa veliko tipov uporabniških in sistemskih skrbnikov raje uporabi format 7z, ker ponuja znatno boljše razmerje stiskanja. Zip format ima nekaj stvari, ki se dogajajo z njo, kot so hitrost( glede na druge oblike stiskanja) in aplikacijska podpora.

Da bi dobili najboljše iz obeh svetov, smo ustvarili skript, ki bo pretvoril vaše zip datoteke v 7z datoteke z enim samim ukazom, proces, ki ga imenujemo "globoko arhiviranje".

Praktične uporabe

Zakaj bi torej potrebovali ta scenarij, ko bi lahko začeli ustvarjati 7z arhive? Tukaj je nekaj razlogov:

  1. Nekatere aplikacije lahko izdelajo samo arhive zip formatov.
  2. Ker je stiskanje zip hitrejše kot 7z stiskanje, boste morda želeli hitro izdelati datoteko zip in nato "globoko stisniti" kasneje.

Razmislite o tem scenariju:

Zaženete FTP spletno mesto, kjer stranke naložijo podatke v vam v zip formatu. Uporabniki nato prenesejo podatke in jih po potrebi uporabijo, vendar jih želite ohraniti še nekaj časa, če jih znova uporabijo uporabniki( v tem primeru ste junak, ki jim je na voljo).Če želite shraniti nekaj prostora, lahko pretvorite zip arhive v format 7z in jih potisnite stran.

instagram viewer

Nadomestno zamenjajte podatke, naložene s strani kupca iz zgornjega scenarija, s shranjenimi uporabniškimi podatki( ali karkoli drugega si lahko pomislite) in lahko vidite, da obstaja veliko praktičnih aplikacij za to.

Skript

@ECHO OFF ECHO Globalni arhiv ECHO Prispeval: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM zapiše datoteko Zip in jo ponovno uporabi kot 7z arhiv. REM Skriptni proces: REM 1. Razstavite obstoječi arhiv. REM 2. Stisnite izpisane datoteke v formatu 7z. REM 3.( neobvezno) Potrdite novo 7z datoteko. REM 4.( neobvezno) Izbrišite izvorni arhiv. REM REM Uporaba: REM DeepArchive ZipFile REM Zahteve REM: REM Orodje ukazne vrstice 7-Zip( 7za.exe) je na mestu, ki je nastavljena v spremenljivki PATH.REM REM Dodatne opombe: REM Ta skript obdeluje en zip arhiv. REM Za obdelavo vseh zip arhivov v mapi uporabite ukaz ForFiles iz ukazne vrstice: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Za zagon arhivske stiskanja / dekompresijekot procesi z ozadjem z nizko prioriteto REM dodajo to pred ukazi 7ZA( NE dodajamo tega pred potrditvijo veljavnosti ukaza 7ZA): REM START / BelowNormal / Wait REM Če dodate zgornji ukaz, bo za izvajanje teh operacij uporabil novo okno. SETLOCAL EnableExtensions EnableDelayedExpansion REM Ali naj bo globoka arhivska datoteka potrjena?(1 = da, 0 = ne) SET Validate = 0 REM Stopnja kompresije: 1,3,5,7,9( višja = počasnejša, vendar bolj kompresijska) SET CompressLevel = 5 REM Brisanje izvorne zip datoteke na uspeh?(1 = da, 0 = ne) SET DeleteSourceOnSuccess = 1 REM ---- Ne spreminjaj ničesar pod to vrstico ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" IF NOT EXIST% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR / S/ Q% tmpPath%) ECHO Extracting arhiv:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Stiskanje arhiva:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Validiraj arhiv:% DeepFile% 7ZA t% DeepFile% | FIND / C "Vse je v redu" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!ECHO.) GOTO Uspešnost: Uspeh IF{ % DeleteSourceOnSuccess%} =={ 1} DEL / FILOZA:F / Q% ArchiveFile% ECHO Uspeh GOTO Konec: neuspešno ECHO neuspešno GOTO Konec: konec IF EXIST% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Povezave

Prenesi DeepArchiveSkript iz SysadminGeek.com

Prenesite orodno vrstico ukazne vrstice 7-Zip