Komprimieren (und Dekomprimieren) von Dateien mit PowerShell

Das ZIP-Dateiformat reduziert die Größe von Dateien, indem sie zu einer einzigen Datei komprimiert werden. Dieser Prozess spart Speicherplatz, verschlüsselt Daten und erleichtert das Teilen von Dateien mit anderen. So komprimieren und dekomprimieren Sie Dateien mit PowerShell.

So komprimieren Sie Dateien mit PowerShell

Beginnen wir mit dem Komprimieren einiger Dateien in einem ZIP-Archiv mithilfe des Cmdlets Compress-Archive. Es nimmt den Pfad zu allen Dateien, die Sie komprimieren möchten (mehrere Dateien werden durch Kommas getrennt) und archiviert sie an dem von Ihnen angegebenen Ziel.

Öffnen Sie zuerst PowerShell, indem Sie im Startmenü danach suchen und dann den folgenden Befehl eingeben und ersetzen und mit dem Pfad zu den Dateien, die Sie komprimieren möchten, und dem Namen und Ordner, in den sie verschoben werden sollen:

Compress-Archive -LiteralPath  -DestinationPath 

Geben Sie bei der Angabe des Zielpfads unbedingt einen Namen für die Archivdatei an. Andernfalls speichert PowerShell diese als „.zip“, wo Sie sie angeben.

Hinweis: Zitate um den Pfad werden nur benötigt, wenn der Pfad zur Datei ein Leerzeichen enthält.

Alternativ können Sie zum Komprimieren des gesamten Inhalts eines Ordners – und aller seiner Unterordner – den folgenden Befehl verwenden und ersetzen und mit dem Pfad zu den Dateien, die Sie komprimieren möchten, und dem Namen und Ordner, in den sie gehen sollen:

Compress-Archive -LiteralPath  -DestinationPath 

Komprimieren Sie einen gesamten Ordner und seinen gesamten Inhalt.

Im vorherigen Beispiel haben wir den Pfad zu einem Verzeichnis mit mehreren Dateien und Ordnern erstellt, ohne einzelne Dateien anzugeben. PowerShell nimmt alles, was sich im Stammverzeichnis befindet, und komprimiert es, Unterordner und alles.

Mit dem Cmdlet Compress-Archive können Sie einen Platzhalter verwenden -Path um die Funktionalität weiter zu erweitern. 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 das verwenden

stattdessen, weil -LiteralPath sie nicht akzeptiert.

Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip

Oben haben wir erklärt, wie das Stammverzeichnis und alle seine Dateien und Unterverzeichnisse beim Erstellen einer Archivdatei einbezogen werden.  Wenn Sie den Stammordner jedoch aus der Zip-Datei ausschließen möchten, können Sie ihn mit einem Platzhalterzeichen aus dem Archiv entfernen.  Durch Hinzufügen eines Sternchens


Am Ende des Dateipfads weisen Sie PowerShell an, nur das abzurufen, was sich im Stammverzeichnis befindet. Es sollte ungefähr so ​​aussehen:

Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip

Komprimieren Sie den gesamten Inhalt eines Ordners ohne den Stammordner.

Angenommen, Sie haben einen Ordner mit einer Reihe verschiedener Dateitypen (.doc, .txt, .jpg usw.), möchten jedoch nur einen einzigen Typ komprimieren. Sie können PowerShell anweisen, sie zu archivieren, ohne die anderen explizit zu berühren. Die Befehlsnotation würde folgendermaßen aussehen: Komprimieren Sie nur bestimmte Dateitypen aus einem Ordner.

Hinweis:

Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip

Unterverzeichnisse und Dateien im Stammordner werden bei dieser Methode nicht in das Archiv aufgenommen.

Wenn Sie ein Archiv wünschen, das nur die Dateien im Stammverzeichnis – und alle seine Unterverzeichnisse – komprimiert, verwenden Sie das Platzhalterzeichen Stern-Punkt-Stern (*. *), Um sie zu komprimieren. Es würde ungefähr so ​​aussehen: Komprimieren Sie Dateien im Stammordner nur mit der Stern-Punkt-Stern-Widlcard (*. *).

Hinweis: -Update Unterverzeichnisse und Dateien im Stammordner werden bei dieser Methode nicht in das Archiv aufgenommen.

Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.zip

Auch nach Abschluss der Archivierung können Sie eine vorhandene komprimierte Datei mit dem aktualisieren

Rahmen. Sie können alte Versionen von Dateien im Archiv durch neuere Versionen mit demselben Namen ersetzen und Dateien hinzufügen, die im Stammverzeichnis erstellt wurden. Es wird ungefähr so ​​aussehen:

Aktualisieren Sie eine bereits vorhandene Zip-Datei mit dem Parameter -Update.

So entpacken Sie Dateien mit PowerShell PowerShell kann nicht nur Dateien und Ordner komprimieren, sondern auch Archive dekomprimieren. Der Vorgang ist noch einfacher als das Komprimieren. Sie benötigen lediglich die Quelldatei und ein Ziel für die Daten, die dekomprimiert werden können. Öffnen Sie PowerShell und geben Sie den folgenden Befehl ein

Expand-Archive -LiteralPath  -DestinationPath 

und

mit dem Pfad zu den Dateien, die Sie komprimieren möchten, und dem Namen und Ordner, in den sie gehen sollen:

Entpacken Sie ein Archiv mit dem Cmdlet Expand-Archive. -DestinationPath Der angegebene Zielordner zum Extrahieren der Dateien wird mit dem Inhalt des Archivs gefüllt. Wenn der Ordner vor dem Entpacken nicht vorhanden war, erstellt PowerShell den Ordner und legt den Inhalt vor dem Entpacken dort ab.

Standardmäßig, wenn Sie das weglassen -DestinationPath PowerShell entpackt den Inhalt in das aktuelle Stammverzeichnis und verwendet den Namen der Zip-Datei, um einen neuen Ordner zu erstellen.

Im vorherigen Beispiel, wenn wir weglassen


PowerShell erstellt den Ordner „Archive“ im Pfad „C: Users brady“ und extrahiert die Dateien aus dem Archiv in den Ordner. -Force Wenn Sie den Parameter -DestinationPath weglassen, extrahiert PowerShell die Zip-Datei in das aktuell ausgewählte Verzeichnis.

Wenn der Ordner bereits im Ziel vorhanden ist, gibt PowerShell beim Versuch, die Dateien zu entpacken, einen Fehler zurück. Sie können PowerShell jedoch zwingen, die Daten mithilfe der Daten durch die neuen zu ersetzen -Force Rahmen.

Verwandt :  Was ist smishing und wie schützen Sie sich?