Situatie
În Windows, puteți utiliza cmdlet-urile PowerShell încorporate pentru a comprima și decomprima fișiere din promptul de comandă sau din scripturile PS1. Începând cu PowerShell 5.0(introdus în Windows 10), cmdlet-urile Compress-Archive și Expand-Archive sunt disponibile pentru lucrul cu arhive ZIP.
Comanda Compress-Archive
Comanda Compress-Archive vă permite să creați un fișier arhivă comprimat dintr-unul sau mai multe fișiere sau foldere specificate.
Dacă doriți să comprimați un fișier și să îl adăugați la o arhivă ZIP, utilizați comanda:
Compress-Archive -DestinationPath C:\temp\applog.zip -Path ‘C:\temp\app.log’ -Force
Nota bene. Este necesar să se utilizeze ghilimele în jurul căii fișierului dacă numele fișierului sursă sau destinație conține un spațiu.
Opțiuni pentru cmdletul Compress-Archive
- DestinationPath – calea către arhiva ZIP
- Path – numele fișierului sau folderului pe care doriți să îl comprimați
- Force – suprascrieți fișierul dacă există deja o arhivă cu același nume
- CompressionLevel – vă permite să setați nivelul de compresie. Valori posibile: NoCompression, Fastest și Optimal(utilizat în mod implicit)
Dacă doriți să comprimați numai conținutul directorului (inclusiv subfolderele), dar nu și directorul în sine, specificați:
-Path C:\temp\*
Dimensiunea maximă a arhivei ZIP
Rețineți că dimensiunea maximă a unei arhive ZIP care poate fi creată utilizând cmdletul Compress-Archive este de 2 GB.
Aceasta este o limitare a API-ului Microsoft .NET subiacent (clasa System.IO.Compression.ZipArchive). Dacă încercați să creați un fișier arhivă ZIP mai mare de 2 GB, cmdletul Compress-Archive va returna o eroare: MethodInvocationException: Exception calling “Write” with “3” argument(s): “Stream was too long.”
Arhivați mai multe directoare simultan
Pentru a arhiva mai multe directoare simultan, specificați o listă de foldere separate prin virgule în parametrul Path:
Compress-Archive -DestinationPath C:\arhive.zip -Path C:\ps\, C:\temp\
Adăugați un fișier la o arhivă ZIP existentă
Opțiunea Actualizare vă permite să adăugați un fișier la o arhivă ZIP existentă:
Compress-Archive -DestinationPath C:\arhive.zip -Path C:\temp\test.html -Update
Comprimați toate fișierele cu extensii specifice dintr-un folder
Get-ChildItem -Path C:\Temp\ -Include “*.txt”,”*.log” -Recurse| Compress-Archive -DestinationPath C:\txt_log.zip
Extrageți arhiva cu cmdletul Expand-Archive
Expand-Archive -Path C:\txt_log.zip -DestinationPath C:\Unzipped
Nota bene: Adăugați parametrul -Force dacă doriți să suprascrieți fișierele din directorul de destinație.
Leave A Comment?