PowerShell Entpacken

Migel Hewage Nimesha 30 Januar 2023
  1. Expand-Archive Syntax 1
  2. Expand-Archive-Syntax 2
  3. Expand-Archive-Parameter
  4. Beispiele für PowerShell-Dateien entpacken
PowerShell Entpacken

Der ZIP-Dateityp minimiert seine Größe, indem Dateien zu einer einzigen Datei komprimiert werden. Diese Methode spart Speicherplatz auf der Festplatte, verschlüsselt Informationen und erleichtert den Austausch von Dateien untereinander.

PowerShell extrahiert Dateien und Ordner aus einer bestimmten ZIP-Datei im selben Verzeichnis, in dem sich die ZIP-Datei befindet, oder im angegebenen Zielpfad mithilfe des Befehls Expand-Archive.

Hier können wir zwei verschiedene Syntaxen zum Löschen verwenden. Diese beiden können separat verwendet, aber nicht kombiniert werden.

Expand-Archive Syntax 1

Hier wird die Pfadeigenschaft verwendet, und bei der Pfadangabe sind Platzhalter möglich.

Expand-Archive
      [-Path] <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Expand-Archive-Syntax 2

Die nächste Option ist der wörtliche Pfad. Hier sollte der angegebene Pfad korrekt sein, da er als gegeben angenommen wird und die Verwendung von Platzhaltern nicht zulässig ist. Wenn der Pfad Escape-Zeichen enthält, schließen Sie jedes Escape-Zeichen in einfache Anführungszeichen ein, um PowerShell mitzuteilen, dass keine Zeichen als Escape-Muster interpretiert werden sollen.

Expand-Archive
      -LiteralPath <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Expand-Archive-Parameter

Der Name und die Beschreibung der am häufigsten verwendeten Parameter sind unten angegeben.

Name Beschreibung
-Confirm Vor dem Ausführen des Cmdlets wird eine Bestätigung angefordert
-DestinationZip Geben Sie den Pfad zum Entpackordner an. Wenn der Ordner nicht vorhanden ist, wird der Zielordner erstellt
-Force Cmdlet ohne Bestätigung erzwingen
-LiteralPath Geben Sie den Pfad zur Archivdatei an. Der wörtliche Pfadwert wird genau so genommen, wie er gegeben ist.
-PassThru Gibt eine Liste von Dateien aus, die aus dem Archiv erweitert wird
-Path Geben Sie den Pfad zur Archivdatei an
-WhatIf zeigen, was passiert, wenn das Cmdlet ausgeführt wird, ohne es tatsächlich auszuführen

Beispiele für PowerShell-Dateien entpacken

Beispiel 1:

Die Elemente einer aktuellen Archivdatei im aktuellen Verzeichnis werden in diesem Beispiel in den Ordner extrahiert, der durch die Option -DestinationPath bereitgestellt wird.

Expand-Archive -Path test.Zip -DestinationPath C:\Test

Beispiel 2:

Es ist sogar noch einfacher, Dateien aus einem Archiv zu extrahieren, als eines zu erstellen. Sie müssen lediglich den Namen des Archivs und den Zielort der entpackten Dateien angeben. Mithilfe des Cmdlets Expand-Archive exportiert der folgende Code den Inhalt des Test-ZIP-Archivs in einen angegebenen Ordner TestUnzipped in der Zielpfadvariablen.

Expand-Archive -LiteralPath 'C:\Archives\test[v1].Zip' -DestinationPath C:\TestUnzipped

Da der Dateiname Zeichen enthält, die als Platzhalter interpretiert werden können, wird die LiteralPath-Option verwendet.

Wenn Sie das Argument -DestinationPath nicht verwenden, entpackt PowerShell die Dateien in den aktuellen Stammordner und erstellt einen neuen Ordner mit dem Dateinamen der ZIP-Datei.

Wenn PowerShell versucht, die Dateien zu extrahieren, wird ein Fehler ausgegeben, wenn das Verzeichnis jetzt im Ziel vorhanden ist. Mit dem Argument -Force können Sie PowerShell dazu bringen, die alten Daten durch neue Daten zu ersetzen.

Das Argument -Force sollte nur verwendet werden, wenn die alten Dateien wirklich nicht mehr benötigt werden, da es die Dateien auf Ihrem Rechner dauerhaft überschreibt.

Die ZIP-Datei komprimiert und speichert Dateien und Verzeichnisse in einem einzigen Dokument. Ohne Software installieren zu müssen, kann PowerShell sie auf verschiedene Weise abrufen. Der oben beschriebene Ansatz gilt sowohl für plattformübergreifende als auch für native Apps.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.