Formatul zip este standardul pentru compresia 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 (relativ la alte formate de compresie) și suportul pentru aplicații.
Deci, 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ă, proces denumit "arhivare profundă".
Deci, de ce ai avea nevoie de acest script când ai putea crea doar arhivele 7z pentru a începe cu asta? Iată câteva motive:
Luați în considerare acest scenariu:
Executați un site FTP unde clienții dvs. 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 clienți din scenariul de mai sus cu date 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.
@CHO 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 arhivelor deoarece 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ă validare ECHO:% DeepFile% 7ZA%% DeepFile% | FIND / C "Totul este OK">% tmpFile% SET / P IsValid = <% tmpFile% IF! == 0 (ECHO validarea a eșuat! DEL / F / Q% DeepFile% ECHO.GOTO Fail) ELSE (ECHO Validare a trecut ECHO.) GOTO Succes: Succes IF % DeleteSourceOnSuccess% == 1 Q% ArhivaFile% ECHO Succes GOTO Sfarsit: Fail ECHO Eșuat GOTO Sfarsit: Sfarsit IF EXIST% tmpFile% DEL / F / Q% tmpFile% DACA EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL
Descărcați scriptul DeepArchive de la SysadminGeek.com
Descărcați instrumentul de comandă pentru 7-Zip