- 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>
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.
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.
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.
Ö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.
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 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“