Verwendung von PowerShell zum Erstellen von ZIP-Archiven und Entpacken von Dateien
Nov 6, 2018
Manchmal kann es nützlich sein, programmgesteuert Zip-Archive zu erstellen oder Dateien aus bestehenden Archiven zu extrahieren. Windows PowerShell 5.0 hat zwei Cmdlets hinzugefügt, die genau das ermöglichen. Das Cmdlet Compress-Archive ermöglicht es Ihnen, neue Archive aus Ordnern oder einzelnen Dateien zu erstellen und Dateien zu Archiven hinzuzufügen; das Cmdlet Extract-Archive kann verwendet werden, um Dateien zu entpacken.
Ausgewählte verwandte Inhalte:
Wenn Sie PowerShell 5.0 oder eine spätere Version noch nicht auf Ihren Systemen installiert haben, können Sie die neueste Version des Windows Management Framework von der Microsoft-Website herunterladen.
Verwendung von PowerShell zum Erstellen von Zip-Dateien
Beginnen wir damit, PowerShell zu verwenden, um Dateien in einem neuen Zip-Archiv zu komprimieren. Alles, was Sie tun müssen, ist den -Path-Parameter zu verwenden, um den Ordner anzugeben, den Sie komprimieren möchten, und den –DestinationPath-Parameter, um den Namen des Archivs festzulegen, das Sie erstellen möchten. Der folgende Befehl wird den Ordner Rechnungen im Stammverzeichnis C zippen und ein Archiv namens Invoices.zip im Ordner Archive erstellen:
Compress-Archive -Path C:Invoices -DestinationPath C:ArchivesInvoices
Alternativ könnten wir die Dateien im Ordner Rechnungen einzeln mit -LiteralPath anstelle von –Path zippen. Dieser Befehl erstellt ein Archiv mit nur den zwei Dateien, die explizit im –LiteralPath Parameter aufgeführt sind:
Compress-Archive -LiteralPath C: InvoicesFile1.txt, C:InvoicesFile2.txt -DestinationPath C:ArchivesInvoices -Force
Beachten Sie, dass ich den Parameter -Force hinzugefügt habe, um das Archiv zu überschreiben, das ich mit dem ersten Befehl erstellt habe. Ohne den -Force-Parameter können Sie bestehende Archive nicht überschreiben und PowerShell fordert Sie auf, stattdessen Dateien zum Archiv hinzuzufügen.
Um Dateien zu einem Archiv hinzuzufügen, verwenden Sie den -Update-Parameter. 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:ArchivesInvoices
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; es verwendet die beste verfügbare Kompression, kann aber länger dauern als die Verwendung von Fastest. Um ein Archiv ohne Kompression zu erstellen, verwenden Sie den Wert NoCompression.
Ausgewählte verwandte Inhalte:
Mit PowerShell Dateien entpacken
Dateien aus einem Archiv zu extrahieren ist sogar einfacher als eines zu erstellen. Alles, was Sie tun müssen, ist den Namen des Archivs und den Zielordner für die entpackten Dateien anzugeben. Der folgende Befehl extrahiert den Inhalt des Invoices.zip-Archivs in einen Ordner namens InvoicesUnzipped mit dem Expand-Archive-Cmdlet.
Expand-Archive -LiteralPath C:ArchivesInvoices.Zip -DestinationPath C: InvoicesUnzipped
Der Ordner, in den Sie die Dateien entpacken möchten, muss nicht existieren; Expand-Archive wird den Ordner automatisch erstellen, falls nötig. Aber wenn die Dateien, die Sie entpacken möchten, bereits im Zielordner existieren, Expand-Archive wird einen Fehler zurückgeben. Sie können Dateien im Zielordner überschreiben, indem Sie den Parameter -Force zum Befehl hinzufügen.
Teilen auf
Erfahren Sie mehr
Über den Autor
Russell Smith
IT-Berater
IT-Berater und Autor, der sich auf Management- und Sicherheitstechnologien spezialisiert hat. Russell verfügt über mehr als 15 Jahre Erfahrung in der IT, er hat ein Buch über Windows-Sicherheit geschrieben und er hat einen Text für die Official Academic Course (MOAC) Serie von Microsoft mitverfasst.
Erfahren Sie mehr zu diesem Thema
Powershell Delete File If Exists
PowerShell Write to File: "Out-File" und Dateiausgabetechniken
So erstellen Sie neue Active Directory-Benutzer mit PowerShell
So führen Sie ein PowerShell-Skript aus
Was ist PowerShell? Ein kompletter Leitfaden zu seinen Funktionen & Anwendungen