19Aug

Muunna kaikki Zip-arkistasi helposti 7z-arkistoon

Zip-muoto on standardi tiedostonpakkaukselle, mutta monet käyttäjät ja järjestelmän ylläpitäjät haluavat käyttää 7z-muotoa, koska se tarjoaa huomattavasti paremmat pakkaussuhteet. Zip-muodossa on muutama asia, kuten nopeus( suhteessa muihin pakkausmuotoihin) ja sovellustuki.

Jotta saat molempien maailmojen parhaat puolet, olemme luoneet komentosarjan, joka muuntaa zip-tiedostot 7z-tiedostoiksi yhdellä komennolla, jota kutsumme "syvä arkistointi".

Käytännölliset käyttötarkoitukset

Miksi siis tarvitset tämän käsikirjoituksen, kun voisit vain luoda 7z arkistoja aluksi? Seuraavassa on muutamia syitä:

  1. Tietyt sovellukset voivat tuottaa vain zip-muotoisia arkistoja.
  2. Koska zip-pakkaus on nopeampaa kuin 7z-pakkaus, saatat haluta nopeasti tuottaa zip-tiedoston ja sitten "syvä puristaa" sitä myöhemmin.

Harkitse tätä skenaariota:

Suorita FTP-sivusto, jossa asiakkaat lataavat tietoja zip-muodossa. Käyttäjät sitten lataavat ja käyttävät tietoja tarpeen mukaan, mutta haluat säilyttää nämä tiedostot jonkin aikaa vain siinä tapauksessa, että käyttäjät tarvitsevat niitä uudelleen( tässä tapauksessa olet sankari, jolla heidät ovat helposti saatavilla).Jotta tilaa säästyy, voit siirtää zip-arkiston 7z-muotoon ja peittää ne pois.

Vaihtoehtoisesti voit korvata käyttäjän ladatut tiedot edellä olevasta skenaariosta varmuuskopioidulla käyttäjädatalla( tai mitä muuta voit ajatella) ja näet, että tähän on monia käytännön sovelluksia.

Script

@ ECO EI ECHO Deep Archive ECHO Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO.KAIKU.REM vie Zip-tiedoston ja purkaa sen uudelleen 7z-arkistoksi. REM Script -prosessi: REM 1. Purkaa olemassa oleva arkisto. REM 2. Pakkaa puretut tiedostot 7z-muodossa. REM 3.( valinnainen) Vahvista uusi 7z-tiedosto. REM 4.( valinnainen) Poista lähdearkisto. REM REM Käyttö: REM DeepArchive ZipFile REM REM Vaatimukset: REM 7-Zip-komentorivityökalu( 7za.exe) sijaitsee PATH-muuttujassa. REM REM Muita huomautuksia: REM Tämä skripti käsittelee yhden zip-arkiston. REM Voit käsitellä kaikkia zip-arkistoja kansiossa käyttämällä komentoriviltä ForFiles-komentoa: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Arkistokompression / dekompression suorittaminenalhaisen prioriteetin taustaprosessit REM lisää tämä 7ZA-komentojen eteen( ÄLÄ lisää tätä 7ZA-komennon edessä): REM START / BelowNormal / Wait REM Edellä mainitun komennon lisääminen käyttää uutta ikkunaa näiden toimintojen suorittamiseen. SETLOCAL EnableExtensions EnableDelayedExpansion REM Jos syvä arkistotiedosto vahvistetaan?(1 = kyllä, 0 = ei) SET Validate = 0 REM Compression taso: 1,3,5,7,9( korkeampi = hitaampi mutta enemmän pakkausta) SET CompressLevel = 5 REM Poistetaan lähdetiedosto menestyksestä?(1 = kyllä, 0 = ei) SET DeleteSourceOnSuccess = 1 REM ---- Älä muuta mitään tämän rivin alapuolella. ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" JOS EI JÄLKEE% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR / S/ Q% tmpPath%) ECHO: n arkistointi:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Arkiston tiivistäminen:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Arjen tarkistaminen:% DeepFile% 7ZA t% DeepFile% | FIND / C "Kaikki on OK">% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!GOTO Menestys: Menestys IF{ % DeleteSourceOnSuccess%} =={ 1} DEL / F / Q% DeepFile% ECHO.GOTO Fail) ELSE( ECHO Validointi läpäissyt) ECHO Validointi epäonnistui! F / Q% ArchiveFile% ECHO: n menestys GOTO End: Fail ECHO epäonnistui GOTO End: Lopeta IF EXIST% tmpFile% DEL / F / Q% tmpFile% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Linkit

Lataa DeepArchiveScript from SysadminGeek.com

Lataa 7-Zip Command Line Tool