Freigeben über


Join-Path

Kombiniert einen Pfad und einen untergeordneten Pfad in einen einzelnen Pfad.

Syntax

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Beschreibung

Das Cmdlet Join-Path kombiniert einen Pfad und einen untergeordneten Pfad in einem einzelnen Pfad. Der Anbieter stellt die Pfadtrennzeichen zur Auswahl.

Beispiele

Beispiel 1: Kombinieren eines Pfads mit einem untergeordneten Pfad

Join-Path -Path "path" -ChildPath "childpath"

path\childpath

Dieser Befehl verwendet Join-Path, um einen Pfad mit einem untergeordneten Pfad zu kombinieren.

Da der Befehl vom FileSystem-Anbieter ausgeführt wird, stellt er das \ Trennzeichen bereit, um die Pfade zu verbinden.

Beispiel 2: Kombinieren von Pfaden, die bereits Verzeichnistrennzeichen enthalten

Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

Vorhandene Verzeichnistrennzeichen \ werden behandelt, sodass nur ein Trennzeichen zwischen Path und ChildPath

Beispiel 3: Anzeigen von Dateien und Ordnern durch Verknüpfen eines Pfads mit einem untergeordneten Pfad

Join-Path "C:\win*" "System*" -Resolve

Mit diesem Befehl werden die Dateien und Ordner angezeigt, auf die verwiesen wird, indem sie den C:\Win\* Pfad und den System\* untergeordneten Pfad verknüpfen. Es zeigt die gleichen Dateien und Ordner wie Get-ChildIteman, zeigt jedoch den vollqualifizierten Pfad zu jedem Element an. In diesem Befehl werden die Path und ChildPath optionalen Parameternamen weggelassen.

Beispiel 4: Verwenden von Join-Path mit dem PowerShell-Registrierungsanbieter

PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve

HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet

Mit diesem Befehl werden die Registrierungsschlüssel im HKLM\System Registrierungsunterschlüssel angezeigt, der ControlSetenthält.

Der Resolve-Parameter versucht, den verknüpften Pfad aufzulösen, einschließlich Der Wildcards aus dem aktuellen Anbieterpfad HKLM:\

Beispiel 5: Kombinieren mehrerer Pfadwurzeln mit einem untergeordneten Pfad

Join-Path -Path C:, D:, E:, F: -ChildPath New

C:\New
D:\New
E:\New
F:\New

Dieser Befehl verwendet Join-Path, um mehrere Pfadwurzeln mit einem untergeordneten Pfad zu kombinieren.

Anmerkung

Die durch Path angegebenen Laufwerke müssen vorhanden sein, oder die Verknüpfung dieses Eintrags schlägt fehl.

Beispiel 6: Kombinieren der Wurzeln eines Dateisystemlaufwerks mit einem untergeordneten Pfad

Get-PSDrive -PSProvider filesystem | ForEach-Object {$_.Root} | Join-Path -ChildPath "Subdir"

C:\Subdir
D:\Subdir

Dieser Befehl kombiniert die Wurzeln jedes PowerShell-Dateisystemlaufwerks in der Konsole mit dem Subdir untergeordneten Pfad.

Der Befehl verwendet das Cmdlet Get-PSDrive, um die vom FileSystem-Anbieter unterstützten PowerShell-Laufwerke abzurufen. Die ForEach-Object-Anweisung wählt nur die eigenschaft Root der PSDriveInfo Objekte aus und kombiniert sie mit dem angegebenen untergeordneten Pfad.

Die Ausgabe zeigt, dass die PowerShell-Laufwerke auf dem Computer ein Laufwerk enthalten, das dem verzeichnis C:\Program Files zugeordnet ist.

Beispiel 7: Kombinieren einer unbegrenzten Anzahl von Pfaden

Join-Path a b c d e f g

a\b\c\d\e\f\g

Der parameter AdditionalChildPath ermöglicht die Verknüpfung einer unbegrenzten Anzahl von Pfaden.

In diesem Beispiel werden keine Parameternamen verwendet, daher wird "a" an Path, "b" an ChildPath und "c-g" an AdditionalChildPath

Parameter

-AdditionalChildPath

Gibt zusätzliche Elemente an, die an den Wert des Path-Parameters angefügt werden sollen. Der parameter ChildPath ist weiterhin obligatorisch und muss ebenfalls angegeben werden.

Dieser Parameter wird mit der ValueFromRemainingArguments-Eigenschaft angegeben, die das Verknüpfen einer unbegrenzten Anzahl von Pfaden ermöglicht.

Dieser Parameter wurde in PowerShell 6.0 hinzugefügt.

Typ:String[]
Position:2
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ChildPath

Gibt die Elemente an, die an den Wert des Path Parameters angefügt werden sollen. Wildcards sind zulässig. Der ChildPath-Parameter ist erforderlich, obwohl der Parametername ("ChildPath") optional ist.

Typ:String
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-Credential

Anmerkung

Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command-, um die Identität eines anderen Benutzers zu imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Path

Gibt den Hauptpfad (oder Pfade) an, an den der untergeordnete Pfad angefügt wird. Wildcards sind zulässig.

Der Wert von Path bestimmt, welcher Anbieter die Pfade verknüpft und die Pfadtrennzeichen hinzufügt. Der Path Parameter ist erforderlich, obwohl der Parametername ("Path") optional ist.

Typ:String[]
Aliase:PSPath
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-Resolve

Gibt an, dass dieses Cmdlet versuchen soll, den verknüpften Pfad vom aktuellen Anbieter aufzulösen.

  • Wenn Wildcards verwendet werden, gibt das Cmdlet alle Pfade zurück, die mit dem verknüpften Pfad übereinstimmen.
  • Wenn keine Wildcards verwendet werden, tritt beim Cmdlet ein Fehler auf, wenn der Pfad nicht vorhanden ist.
Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.

Ausgaben

String

Dieses Cmdlet gibt eine Zeichenfolge zurück, die den resultierenden Pfad enthält.

Hinweise

Die Cmdlets, die das Path-Substantiv (die Pfad-Cmdlets) enthalten, bearbeiten Pfadnamen und geben die Namen in einem präzisen Format zurück, das von allen PowerShell-Anbietern interpretiert werden kann. Sie sind für die Verwendung in Programmen und Skripts vorgesehen, in denen Sie den Gesamten oder Einen Teil eines Pfadnamens in einem bestimmten Format anzeigen möchten. Verwenden Sie sie wie Dirname, Normpath, Realpath, Joinoder andere Pfadmanipulatoren.

Sie können die Pfad-Cmdlets mit mehreren Anbietern verwenden, einschließlich der FileSystem, Registryund Certificate Anbieter.

Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Geben Sie Get-PSProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.