Articles

Verwenden von PowerShell zum Erstellen von ZIP-Archiven und Entpacken von Dateien

Posted on

Manchmal kann es nützlich sein, programmgesteuert ZIP-Archive zu erstellen oder Dateien aus vorhandenen Archiven zu extrahieren. Mit Windows PowerShell 5.0 wurden zwei Cmdlets hinzugefügt, um genau das zu tun. Mit dem Cmdlet „Compress-Archive“ können Sie neue Archive aus Ordnern oder einzelnen Dateien erstellen und Dateien zu Archiven hinzufügen; mit „Extract-Archive“ können Sie Dateien entpacken.

Wenn Sie nicht bereits PowerShell 5.0 oder höher auf Ihren Systemen installiert haben, können Sie die neueste Version des Windows Management Frameworks von der Microsoft-Website hier herunterladen.

Using PowerShell to Create Zip Files

Beginnen wir damit, PowerShell zum Komprimieren von Dateien in einem neuen Zip-Archiv zu verwenden. Dazu müssen Sie lediglich mit dem -Path-Parameter den zu komprimierenden Ordner und mit dem -DestinationPath-Parameter den Namen des zu erstellenden Archivs angeben. Der folgende Befehl komprimiert den Ordner „Invoices“ im Stammverzeichnis C und erstellt ein Archiv mit dem Namen „Invoices.zip“ im Ordner „Archives“:

Compress-Archive -Path C:\Invoices -DestinationPath C:\Archives\Invoices

Alternativ könnten wir die Dateien im Ordner „Invoices“ auch einzeln komprimieren, indem wir -LiteralPath anstelle von -Path verwenden. Dieser Befehl erstellt ein Archiv mit nur den beiden Dateien, die explizit im Parameter -LiteralPath aufgeführt sind:

Compress-Archive -LiteralPath C:\ Invoices\File1.txt, C:\Invoices\File2.txt -DestinationPath C:\Archives\Invoices -Force

Beachten Sie, dass ich den Parameter -Force hinzugefügt habe, um das mit dem ersten Befehl erstellte Archiv zu überschreiben. Ohne den Parameter -Force können Sie vorhandene Archive nicht überschreiben und PowerShell fordert Sie stattdessen auf, dem Archiv Dateien hinzuzufügen.

Um einem Archiv Dateien hinzuzufügen, verwenden Sie den Parameter -Update. Der folgende Befehl fügt alle Dateien im Ordner „Invoices“ zu meinem bestehenden Archiv „Invoices.zip“ hinzu:

Compress-Archive -Path C:\Invoices\* -Update -DestinationPath C:\Archives\Invoices

Optional können Sie den Parameter -CompressionLevel mit einem von drei Werten verwenden: Optimal, NoCompression oder Fastest. Optimal ist die Standardeinstellung, wenn der Parameter -CompressionLevel nicht gesetzt ist; sie verwendet die beste verfügbare Kompression, kann aber länger dauern als die Verwendung von Fastest. Um ein Archiv ohne Komprimierung zu erstellen, verwenden Sie den Wert NoCompression.

Using PowerShell to Unzip Files

Das Extrahieren von Dateien aus einem Archiv ist noch einfacher als das Erstellen eines Archivs. Sie müssen nur den Namen des Archivs und den Zielordner für die entpackten Dateien angeben. Der folgende Befehl extrahiert den Inhalt des Archivs „Invoices.zip“ mit dem Cmdlet „Expand-Archive“ in einen Ordner mit dem Namen „InvoicesUnzipped“.

Expand-Archive -LiteralPath C:\Archives\Invoices.Zip -DestinationPath C:\ InvoicesUnzipped

Der Ordner, in den Sie die Dateien entpacken möchten, muss nicht vorhanden sein; Expand-Archive erstellt den Ordner bei Bedarf automatisch. Wenn die Dateien, die Sie entpacken möchten, jedoch bereits im Zielordner vorhanden sind, gibt Expand-Archive einen Fehler zurück. Sie können die Dateien im Zielordner überschreiben, indem Sie dem Befehl den Parameter -Force hinzufügen.

IT-Berater und Autor, spezialisiert auf Management- und Sicherheitstechnologien. Russell hat mehr als 15 Jahre Erfahrung in der IT-Branche, er hat ein Buch über Windows-Sicherheit geschrieben und war Mitautor eines Textes für die Microsoft Official Academic Course (MOAC)-Reihe.

Schreibe einen Kommentar

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