Како да зипујете (и распакујете) датотеке користећи ПоверСхелл

ZIP format datoteke smanjuje veličinu fajlova kompresovanjem u jedinstvenu arhivu. Ovaj proces čuva prostor na disku, enkriptuje podatke i čini deljenje fajlova jednostavnijim. U nastavku je objašnjeno kako možete da zipujete i raspakujete fajlove koristeći PowerShell.

Kako kreirati ZIP arhivu pomoću PowerShell-a

Počnimo sa kompresijom nekoliko fajlova u ZIP arhivu koristeći cmdlet Compress-Archive. Ovaj cmdlet prima putanju do bilo kog fajla koji želite da kompresujete – više fajlova se odvaja zarezom – i arhivira ih na lokaciji koju vi navedete.

Najpre, otvorite PowerShell pretragom u Start meniju, a zatim unesite sledeću komandu, zamenjujući <putanja_do_fajlova> i <putanja_do_destinacije> sa stvarnim putanjama do fajlova koje želite da kompresujete i imenom i direktorijumom gde želite da se arhiva sačuva:

Compress-Archive -LiteralPath <putanja_do_fajlova> -DestinationPath <putanja_do_destinacije>

Kada definišete odredišnu putanju, obavezno dodajte i ime arhivske datoteke, u protivnom će PowerShell sačuvati datoteku kao „.zip“ na specificiranoj lokaciji.

Napomena: Navodnici oko putanje su obavezni samo kada putanja fajla sadrži razmak.

Alternativno, da biste zipovali kompletan sadržaj fascikle – uključujući i sve njene podfascikle – možete koristiti sledeću komandu, zamenjujući <putanja_do_fascikle> i <putanja_do_destinacije> sa stvarnim putanjama do fascikle koju želite da kompresujete i imenom i direktorijumom gde želite da se arhiva sačuva:

Compress-Archive -LiteralPath <putanja_do_fascikle> -DestinationPath <putanja_do_destinacije>

U prethodnom primeru, stavili smo putanju do direktorijuma koji sadrži više fajlova i fascikli bez navođenja pojedinačnih fajlova. PowerShell automatski kompresuje sve što se nalazi unutar glavnog direktorijuma, uključujući i sve podfascikle.

Cmdlet Compress-Archive omogućava korišćenje džoker znaka (*) za dodatno proširenje funkcionalnosti. Korišćenjem džoker znaka možete izuzeti glavni direktorijum, kompresovati samo fajlove unutar direktorijuma ili selektovati sve fajlove određenog tipa. Da biste koristili džoker znak sa Compress-Archive, morate koristiti parametar -Path umesto -LiteralPath, pošto -LiteralPath ne prihvata džoker znakove.

Compress-Archive -Path C:putanja_do_fajla* -DestinationPath C:putanja_do_arhive.zip

Prethodno smo objasnili kako uključiti glavni direktorijum i sve njegove fajlove i poddirektorijume prilikom kreiranja arhive. Međutim, ako želite da isključite glavni direktorijum iz ZIP fajla, možete koristiti džoker znak da biste ga izostavili iz arhive. Dodavanjem zvezdice (*) na kraju putanje do fajla:

Compress-Archive -Path C:putanja_do_fajla*.jpg -DestinationPath C:putanja_do_arhive.zip

na ovaj način, PowerShell će kompresovati samo sadržaj unutar glavnog direktorijuma. Trebalo bi da izgleda otprilike ovako:

Nadalje, pretpostavimo da imate fasciklu sa raznim tipovima datoteka (.doc, .txt, .jpg, itd.), ali želite da kompresujete samo određeni tip. Možete naložiti PowerShell-u da arhivira te datoteke bez uključivanja ostalih. Komanda bi izgledala ovako:

Compress-Archive -Path C:putanja_do_fajla*.* -DestinationPath C:putanja_do_arhive.zip

Napomena: Poddirektorijumi i fajlovi glavne fascikle nisu uključeni u arhivu sa ovom metodom.

Na kraju, ako želite arhivu koja kompresuje samo fajlove u glavnom direktorijumu – i svim njegovim poddirektorijumima – koristili biste džoker znak zvezda-tačka-zvezda (*.*) da biste ih zipovali. To bi izgledalo ovako:

Compress-Archive -Path C:putanja_do_fajlova -Update -DestinationPath C:putanja_do_arhive.zip

Napomena: Poddirektorijumi i fajlovi glavne fascikle nisu uključeni u arhivu sa ovom metodom.

Čak i nakon što je arhiva kreirana, možete je ažurirati pomoću parametra -Update. On vam omogućava da zamenite starije verzije fajlova u arhivi novijima, ako imaju ista imena, i da dodate fajlove koji su naknadno kreirani u glavnom direktorijumu. To bi izgledalo ovako:

Kako raspakovati datoteke pomoću PowerShell-a

Pored mogućnosti zipovanja fajlova i fascikli, PowerShell takođe ima mogućnost raspakivanja arhiva. Proces raspakivanja je još jednostavniji od kompresije: sve što vam je potrebno jeste izvorna datoteka i odredište na koje želite da se raspakovani podaci smeste. Otvorite PowerShell i unesite sledeću komandu, zamenjujući <putanja_do_zip_fajla> i <putanja_do_destinacije> sa stvarnom putanjom do arhivske datoteke i putanjom direktorijuma u koji želite da raspakujete sadržaj:

Expand-Archive -LiteralPath <putanja_do_zip_fajla> -DestinationPath <putanja_do_destinacije>

Odredišni direktorijum specificiran za izdvajanje fajlova će biti popunjen sadržajem arhive. Ako direktorijum nije postojao pre raspakivanja, PowerShell će kreirati direktorijum i smestiti sadržaj u njega pre raspakivanja.

Ako izostavite parametar -DestinationPath, PowerShell će podrazumevano raspakovati sadržaj u trenutni glavni direktorijum i koristiće ime ZIP datoteke za kreiranje nove fascikle.

U prethodnom primeru, ako izostavimo -DestinationPath, PowerShell će kreirati fasciklu „Arhiva“ na putanji „C:Usersbradi“ i raspakovati fajlove iz arhive u tu fasciklu.

Ako fascikla već postoji na odredištu, PowerShell će prijaviti grešku prilikom pokušaja raspakivanja fajlova. Međutim, možete naložiti PowerShell-u da zameni postojeće podatke novim koristeći parametar -Force.

Parametar -Force treba da koristite samo ako vam stari fajlovi više nisu potrebni, jer će trajno zameniti postojeće fajlove na vašem računaru.