Komprimieren und Entpacken von Dateien mit PowerShell

  1. Komprimieren von Dateien mit PowerShell
  2. Dateien mit PowerShell entpacken
Komprimieren und Entpacken von Dateien mit PowerShell

In PowerShell 5.0 verfügt Microsoft über Befehle zum Erstellen von ZIP-Archiven und zum Extrahieren von Dateien aus vorhandenen Archiven. In diesem Artikel werden die PowerShell-Befehle zum Archivieren und Entpacken komprimierter Dateien erläutert.

Die folgenden Befehle sind zwei der neuesten in PowerShell v5.0 veröffentlichten Cmdlets: Der Befehl Compress-Archive erstellt eine gezippte Archivdatei aus Ordnern oder einzelnen Dateien und der Befehl Expand-Archive zum Extrahieren von Dateien aus einer gezippten Archivdatei.

Komprimieren von Dateien mit PowerShell

Lassen Sie uns PowerShell verwenden, um Dateien in einem neuen .zip-Archiv zu komprimieren.

Verwenden Sie den Parameter -Path, um den Speicherort des Ordners anzugeben, den wir komprimieren möchten, und den Parameter -DestinationPath, um den Namen des komprimierten Archivs anzugeben, das Sie erstellen möchten.

Der folgende Befehl komprimiert beispielsweise den Ordner Temp im Stammverzeichnis C: und erstellt ein Archiv namens Temp_Files.zip im Temp-Ordner:

Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip

Alternativ könnten wir die Dateien im Temp-Ordner einzeln komprimieren, indem wir den Parameter -LiteralPath anstelle des Parameters -Path verwenden. Dadurch wird ein Archiv mit nur den beiden Dateien erstellt, die im Parameter -LiteralPath aufgeführt sind:

Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force

Wir haben den Parameter -Force hinzugefügt, um das erste von mir erstellte Archiv zu überschreiben. Ohne den Parameter -Force können Sie vorhandene Archive nicht ersetzen, und Windows PowerShell fordert Sie stattdessen auf, Dateien zum Archiv hinzuzufügen.

Um mehrere Dateien zu einem Archiv hinzuzufügen, können wir den Parameter -Update verwenden. Der folgende Befehl fügt beispielsweise alle Dateien im Ordner Invoices zu meinem bestehenden Temp_Files.zip-Archiv hinzu:

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip

Wir können auch den Parameter -CompressionLevel mit einem von drei Werten verwenden: NoCompression, Optimal oder Fastest.

Optimal ist der Standardwert, wenn der Parameter -CompressionLevel nicht im Ausdruck vorhanden ist. Optimale Komprimierung verwendet die beste Komprimierung, kann aber länger dauern als Fastest.

Verwenden Sie den Wert NoCompression, um ein Archiv ohne Komprimierung zu erstellen.

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal

Dateien mit PowerShell entpacken

Um Dateien aus einem Archiv zu extrahieren, müssen wir den Namen des Archivs und den Zielordner für die entpackten Dateien angeben.

Mit dem Befehl Expand-Archive wird der Inhalt des Archivs Temp_Files.zip in einen Temp-Ordner extrahiert.

Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp

Expand-Archive erstellt automatisch den Ordner der extrahierten Dateien.

Wenn die komprimierte Datei, die wir entpacken, jedoch bereits im Zielordner vorhanden ist, gibt Expand-Archive einen Fehler aus. Wir können Dateien im Zielordner überschreiben, indem wir den Parameter -Force zur Befehlszeile hinzufügen.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell File