How to Zip (and Unzip) Files Using PowerShell

  • Brady Gavin

    @bradyjgavin

  • June 22, 2020, 11:23am EDT

Das ZIP-Dateiformat reduziert die Größe von Dateien, indem es sie in eine einzige Datei komprimiert. Dieser Prozess spart Speicherplatz, verschlüsselt Daten und macht es einfach, Dateien mit anderen zu teilen. Hier erfahren Sie, wie Sie Dateien mit PowerShell komprimieren und entpacken können.

Komprimieren von Dateien mit PowerShell

Zunächst werden einige Dateien mit dem Cmdlet „Compress-Archive“ in ein ZIP-Dateiarchiv komprimiert. Es nimmt den Pfad zu allen Dateien, die Sie komprimieren möchten – mehrere Dateien werden durch ein Komma getrennt – und archiviert sie in dem von Ihnen angegebenen Ziel.

Zunächst öffnen Sie PowerShell, indem Sie im Startmenü danach suchen und dann den folgenden Befehl eingeben, wobei Sie <PathToFiles> und <PathToDestination> durch den Pfad zu den zu komprimierenden Dateien bzw. durch den Namen und den Ordner ersetzen, in dem sie abgelegt werden sollen:

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

Wenn Sie den Zielpfad angeben, stellen Sie sicher, dass Sie der Archivdatei einen Namen geben, oder PowerShell speichert sie als „.zip“ an der von Ihnen angegebenen Stelle.

Hinweis: Anführungszeichen um den Pfad sind nur erforderlich, wenn der Dateipfad ein Leerzeichen enthält.

Alternativ können Sie zum Komprimieren des gesamten Inhalts eines Ordners – und aller seiner Unterordner – den folgenden Befehl verwenden, wobei Sie <PathToFolder> und <PathToDestination> durch den Pfad zu den zu komprimierenden Dateien bzw. den Namen und den Ordner, in den die Komprimierung gehen soll, ersetzen:

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

Im vorherigen Beispiel haben wir den Pfad zu einem Verzeichnis mit mehreren Dateien und Ordnern darin angegeben, ohne einzelne Dateien zu spezifizieren. PowerShell nimmt alles innerhalb des Stammverzeichnisses und komprimiert es, auch die Unterordner.

Anzeige

Mit dem Cmdlet „Compress-Archive“ können Sie die Funktionalität mit einem Platzhalterzeichen (*) noch weiter ausbauen. Wenn Sie das Zeichen verwenden, können Sie das Stammverzeichnis ausschließen, nur Dateien in einem Verzeichnis komprimieren oder alle Dateien eines bestimmten Typs auswählen. Um einen Platzhalter mit Compress-Archive zu verwenden, müssen Sie stattdessen den Parameter -Path verwenden, da -LiteralPath sie nicht akzeptiert.

Oben haben wir behandelt, wie Sie das Stammverzeichnis und alle seine Dateien und Unterverzeichnisse beim Erstellen einer Archivdatei einschließen. Wenn Sie jedoch das Stammverzeichnis von der Zip-Datei ausschließen möchten, können Sie einen Platzhalter verwenden, um es aus dem Archiv auszulassen. Indem Sie ein Sternchen (*) am Ende des Dateipfads hinzufügen, weisen Sie PowerShell an, nur das zu erfassen, was sich im Stammverzeichnis befindet. Es sollte in etwa so aussehen:

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

Angenommen, Sie haben einen Ordner mit einer Reihe verschiedener Dateitypen (.doc, .txt, .jpg usw.), möchten aber nur alle eines Typs komprimieren. Sie können PowerShell anweisen, diese zu archivieren, ohne die anderen explizit zu berühren. Die Notation des Befehls würde wie folgt aussehen:

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

Hinweis: Unterverzeichnisse und die Dateien des Stammordners werden bei dieser Methode nicht in das Archiv aufgenommen.

Anzeige

Wenn Sie schließlich ein Archiv wünschen, das nur die Dateien im Stammverzeichnis – und alle seine Unterverzeichnisse – komprimiert, würden Sie den Stern-Punkt-Stern (*.*) als Platzhalter verwenden, um sie zu zippen. Es würde etwa so aussehen:

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

Hinweis: Unterverzeichnisse und die Dateien des Stammverzeichnisses werden bei dieser Methode nicht in das Archiv aufgenommen.

Selbst nachdem das Archiv vollständig ist, können Sie eine vorhandene gezippte Datei mit Hilfe des Parameters -Update aktualisieren. Damit können Sie ältere Dateiversionen im Archiv durch neuere ersetzen, die den gleichen Namen haben, und Dateien hinzufügen, die im Stammverzeichnis erstellt wurden. Es wird in etwa so aussehen:

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

Wie Sie Dateien mit PowerShell entpacken

Neben der Möglichkeit, Dateien und Ordner zu komprimieren, verfügt PowerShell auch über die Fähigkeit, Archive zu entpacken. Der Vorgang ist sogar noch einfacher als das Komprimieren; alles, was Sie brauchen, ist die Quelldatei und ein Ziel für die zu entpackenden Daten.

Werbung

Öffnen Sie die PowerShell und geben Sie den folgenden Befehl ein, wobei Sie <PathToZipFile> und <PathToDestination> durch den Pfad zu den zu komprimierenden Dateien bzw. den Namen und den Ordner ersetzen, in den es gehen soll:

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

Der angegebene Zielordner, in den die Dateien entpackt werden sollen, wird mit dem Inhalt des Archivs aufgefüllt. Wenn der Ordner vor dem Entpacken nicht vorhanden war, erstellt PowerShell den Ordner und legt den Inhalt vor dem Entpacken darin ab.

Wenn Sie den -DestinationPath-Parameter weglassen, entpackt PowerShell den Inhalt standardmäßig in das aktuelle Stammverzeichnis und verwendet den Namen der Zip-Datei zum Erstellen eines neuen Ordners.

Wenn wir im vorherigen Beispiel -DestinationPath weglassen, erstellt PowerShell den Ordner „Archive“ im Pfad „C:\Users\brady“ und extrahiert die Dateien aus dem Archiv in den Ordner.

Werbung

Wenn der Ordner im Ziel bereits vorhanden ist, gibt PowerShell einen Fehler zurück, wenn sie versucht, die Dateien zu entpacken. Sie können die PowerShell jedoch mit dem Parameter -Force dazu zwingen, die Daten mit den neuen zu überschreiben.

Sie sollten den Parameter -Force nur verwenden, wenn die alten Dateien nicht mehr benötigt werden, da die Dateien dadurch unwiderruflich auf Ihrem Computer ersetzt werden.

Brady Gavin
Brady Gavin ist seit 15 Jahren in die Technik eingetaucht und hat über 150 detaillierte Tutorials und Erklärungen geschrieben. Er hat alles abgedeckt, von Windows 10 Registry Hacks bis hin zu Tipps für den Chrome Browser. Brady hat ein Diplom in Computerwissenschaften vom Camosun College in Victoria, BC. Vollständige Bio lesen“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.