PowerShell Entpacken
-
Expand-Archive
Syntax 1 -
Expand-Archive
-Syntax 2 -
Expand-Archive
-Parameter - Beispiele für PowerShell-Dateien 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.
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.