19Aug

Conversia cu ușurință a tuturor arhivelor dvs. zip la arhivele 7z

Formatul zip este standardul pentru comprimarea fișierelor, cu toate că multe tipuri de administratori și utilizatori de sistem preferă să utilizeze formatul 7z deoarece oferă rapoarte de compresie semnificativ mai bune. Formatul zip are câteva lucruri care merg spre el, cum ar fi viteza( în raport cu alte formate de compresie) și suportul pentru aplicații.

Pentru a obține cele mai bune din ambele lumi, am creat un script care vă va converti fișierele zip în fișierele 7z cu o singură comandă, un proces numit "arhivare profundă".

Utilizează practic

Deci, de ce ai avea nevoie de acest script când ai putea crea doar arhive de 7z pentru a începe cu? Iată câteva motive:

  1. Anumite aplicații pot produce numai arhive de format zip.
  2. Deoarece compresia zip este mai rapidă decât compresia de 7z, este posibil să doriți să produceți rapid un fișier zip și apoi să îl "comprimați" mai târziu.

Luați în considerare acest scenariu:

Executați un site FTP unde clienții vă încarcă date în format zip. Utilizatorii dvs. apoi descărcați și utilizați datele după cum este necesar, dar doriți să păstrați aceste fișiere pentru o perioadă de timp doar în cazul în care utilizatorii dvs. au nevoie de ele din nou( caz în care sunteți un erou pentru a le avea la dispoziție).Pentru a salva spațiu, puteți să transformați arhivele zip în format 7z și să le stocați.

Alternativ, înlocuiți datele încărcate de client din scenariul de mai sus cu datele de utilizator de rezervă( sau orice altceva vă puteți gândi) și puteți vedea că există multe aplicații practice pentru acest lucru.

Script

@ECHO OFF ECHO Deep Archive ECHO Scris de: Jason Faulkner ECHO SysadminGeek.com ECHO.ECOU.REM Creează un fișier zip și o comprimă ca arhivă 7z. Procesul REM Script: REM 1. Decomprimarea arhivei existente. REM 2. Comprimați fișierele extrase în format 7z. REM 3.( opțional) Validați noul fișier 7z. REM 4.( opțional) Ștergeți arhiva sursă.REM REM Utilizare: REM DeepArchive ZipFile REM REM Cerinte: REM Instrumentul liniei de comanda 7-Zip( 7za.exe) se afla intr-o locatie setata in variabila PATH.REM REM Note suplimentare: REM Acest script procesează o singură arhivă zip. REM Pentru a procesa toate arhivele zip într-un dosar, utilizați comanda ForFiles din linia de comandă: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Pentru a executa compresia / decompresia arhivelordeoarece REM adaugă acest lucru în fața comenzilor 7ZA( NU adăugați acest lucru în fața comenzii de validare 7ZA): REM START / BelowNormal / Wait REM Adăugarea comenzii de mai sus va utiliza o fereastră nouă pentru a efectua aceste operații. SETLOCAL EnableExtensions EnableDelayedExpansion REM Dacă ar fi validat fișierul de arhive profund?(1 = da, 0 = nu) SET Validate = 0 REM Nivel de compresie: 1,3,5,7,9( mai mare = compresie mai lentă) SET CompressLevel = 5 REM(1 = da, 0 = nu) SET DeleteSourceOnSuccess = 1 REM ---- Nu modificați nimic sub această linie ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" DACĂ NU EXIST% tmpPath%( MKDIR% tmpPath%/ Q% tmpPath%) Arhivă extragere ECHO:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Arhivă de comprimare:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.Dacă{ % Validate%} =={ 1}( arhivă de validare ECHO:% DeepFile% 7ZA% DeepFile% | FIND / C "Totul este OK" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!IsaLid! == 0( ECHO validarea a eșuat! DEL / F / Q% DeepFile% ECHO.GOTO Fail) ELSE( ECHO Validare a trecut.) ECHO.) GOTO Succes: Succes IF{ % DeleteSourceOnSuccess%} =={ F / Q% ArchiveFile% ECHO Succes GOTO Sfarsit: Fail ECHO Eșec GOTO Sfarsit: Sfarsit IF EXIST% tmpFile% DEL / F / Q% tmpFile% DACA EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Linkuri

Descarca DeepArhiveScript de la SysadminGeek.com

Descărcați unelte pentru linia de comandă 7-Zip