Hoe zip (en unzip) je bestanden met PowerShell

  • Brady Gavin

    @bradyjgavin

  • Juni 22, 2020, 11:23am EDT

De ZIP-bestandsindeling verkleint de grootte van bestanden door ze te comprimeren tot een enkel bestand. Dit proces bespaart schijfruimte, versleutelt gegevens en maakt het eenvoudig om bestanden met anderen te delen. Hier leest u hoe u bestanden in- en uitpakt met PowerShell.

Hoe zip je bestanden met PowerShell

Laten we beginnen met het comprimeren van een aantal bestanden in een ZIP-bestand archief met behulp van het Compress-Archive cmdlet. Het neemt het pad naar de bestanden die je wilt comprimeren – meerdere bestanden worden gescheiden door een komma – en archiveert ze op de bestemming die je opgeeft.

Open eerst PowerShell door er naar te zoeken in het menu Start en dan de volgende opdracht in te typen, waarbij u <PathToFiles> en <PathToDestination> vervangt door respectievelijk het pad naar de bestanden die u wilt comprimeren en de naam en map waar u het naartoe wilt sturen:

Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>

Advertentie

Wanneer u het bestemmingspad opgeeft, moet u ervoor zorgen dat u het archiefbestand een naam geeft, anders slaat PowerShell het op als “.zip” op de plaats die u opgeeft.

Note: aanhalingstekens rond het pad zijn alleen nodig wanneer het bestandspad een spatie bevat.

Als alternatief kunt u de volledige inhoud van een map – en alle submappen – zippen met het volgende commando, waarbij u <PathToFolder> en <PathToDestination> vervangt door respectievelijk het pad naar de bestanden die u wilt comprimeren en de naam en map waarnaar u het wilt verzenden:

Compress-Archive -LiteralPath <PathToFolder> -DestinationPath <PathToDestination>

In het vorige voorbeeld hebben we het pad naar een map met meerdere bestanden en mappen erin gezet zonder de afzonderlijke bestanden te specificeren. PowerShell neemt alles binnen de hoofddirectory en comprimeert het, submappen en al.

Advertentie

Het Compress-Archive cmdlet laat je een wildcard karakter (*) gebruiken om de functionaliteit nog verder uit te breiden. Wanneer u het teken gebruikt, kunt u de hoofddirectory uitsluiten, alleen bestanden in een directory comprimeren, of alle bestanden van een specifiek type kiezen. Als u een jokerteken wilt gebruiken met Compress-Archive, moet u in plaats daarvan de parameter -Path gebruiken, aangezien -LiteralPath deze niet accepteert.

Hierboven hebben we besproken hoe u de hoofddirectory en alle bestanden en submappen daarvan kunt opnemen bij het maken van een archiefbestand. Als u echter de hoofdmap wilt uitsluiten van het Zip-bestand, kunt u een jokerteken gebruiken om deze uit het archief weg te laten. Door een sterretje (*) toe te voegen aan het einde van het bestandspad, vertel je PowerShell alleen te pakken wat er in de hoofdmap staat. Het zou er ongeveer zo uit moeten zien:

Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip

Stel nu dat je een map hebt met een heleboel verschillende bestandstypen (.doc, .txt, .jpg, enz.) maar dat je slechts één type wilt comprimeren. U kunt PowerShell vertellen om ze te archiveren zonder de anderen expliciet aan te raken. De notatie van het commando zou er als volgt uitzien:

Compress-Archive -Path C:\path\to\file\*.jpg -DestinationPath C:\path\to\archive.zip

Note: submappen en de bestanden van de hoofdmap worden met deze methode niet opgenomen in het archief.

Advertentie

Eindelijk, als u een archief wilt dat alleen de bestanden in de hoofdmap en alle submappen comprimeert, zou u het sterretje-streepje (*.*) wildcard gebruiken om ze te zippen. Het zou er dan ongeveer zo uitzien:

Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip

Opmerking: submappen en de bestanden van de hoofdmap worden met deze methode niet in het archief opgenomen.

Even nadat het archief is voltooid, kunt u een bestaand gezipt bestand bijwerken met behulp van de -Update parameter. Hiermee kunt u oudere bestandsversies in het archief vervangen door nieuwere die dezelfde namen hebben, en bestanden toevoegen die in de hoofddirectory zijn gemaakt. Het ziet er ongeveer zo uit:

Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip

Hoe bestanden uitpakken met PowerShell

Naast het kunnen zippen van bestanden en mappen, heeft PowerShell ook de mogelijkheid om archieven uit te pakken. Het proces is nog eenvoudiger dan het comprimeren ervan; alles wat je nodig hebt is het bronbestand en een bestemming voor de gegevens die klaar zijn om uit te pakken.

Advertentie

Open PowerShell en typ het volgende commando, waarbij je <PathToZipFile> en <PathToDestination> vervangt door respectievelijk het pad naar de bestanden die je wilt comprimeren en de naam en de map waar het naartoe moet gaan:

Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>

De bestemmingsmap waarin de bestanden moeten worden uitgepakt, wordt gevuld met de inhoud van het archief. Als de map nog niet bestond voor het uitpakken, maakt PowerShell de map aan en plaatst de inhoud erin voor het uitpakken.

Als u standaard de parameter -DestinationPath weglaat, pakt PowerShell de inhoud uit in de huidige hoofdmap en gebruikt de naam van het Zip-bestand om een nieuwe map aan te maken.

In het vorige voorbeeld, als we -DestinationPath weglaten, maakt PowerShell de map “Archive” in het pad “C:\Usersbrady” en pakt de bestanden uit het archief uit in de map.

Advertentie

Als de map al bestaat in de bestemming, zal PowerShell een fout retourneren wanneer het probeert de bestanden uit te pakken. U kunt PowerShell echter dwingen de gegevens te overschrijven met de nieuwe met behulp van de parameter -Force.

U moet de parameter -Force alleen gebruiken als de oude bestanden niet langer nodig zijn, omdat dit de bestanden op uw computer onherroepelijk zal vervangen.

Brady Gavin
Brady Gavin is al 15 jaar ondergedompeld in technologie en heeft meer dan 150 gedetailleerde tutorials en uitlegprogramma’s geschreven. Hij heeft alles behandeld, van Windows 10 register hacks tot Chrome browser tips. Brady heeft een diploma in computerwetenschappen van het Camosun College in Victoria, BC. Lees volledige bio “

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *