Join-Path
Kombiniert einen Pfad und einen untergeordneten Pfad zu einem Pfad.
Syntax
Default (Standard)
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Beschreibung
Das Join-Path Cmdlet kombiniert einen Pfad und einen untergeordneten Pfad zu einem einzigen Pfad.
Der Anbieter liefert die Pfadtrennzeichen.
Beispiele
Beispiel 1: Kombinieren Sie einen Pfad mit einem untergeordneten Pfad
PS C:\> 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
PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"
path\childpath
Vorhandene Verzeichnistrennzeichen \ werden so behandelt, dass nur ein Trennzeichen zwischen Path und ChildPath vorhanden ist.
Beispiel 3: Dateien und Ordner anzeigen, indem ein Pfad mit einem untergeordneten Pfad kombiniert wird
Join-Path "C:\win*" "System*" -Resolve
Dieser Befehl zeigt die Dateien und Ordner an, auf die durch die Verknüpfung des C:\Win\* Pfads und des System\* untergeordneten Pfads verwiesen wird. 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.
Mit dem Parameter Resolve wird versucht, den verknüpften Pfad aufzulösen, einschließlich der Platzhalter aus dem aktuellen Provider-Pfad HKLM:\
Beispiel 5: Kombinieren Sie mehrere Path Roots 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.
Hinweis
Die durch Path angegebenen Laufwerke müssen vorhanden sein, oder die Verknüpfung dieses Eintrags schlägt fehl.
Beispiel 6: Kombinieren Sie die Roots 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 Roots der einzelnen PowerShell-Dateisystemlaufwerke 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, sodass "a" an Path, "b" an ChildPath und "c-g" an AdditionalChildPath gebunden werden.
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.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 2 |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 1 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Hinweis
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.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt die Hauptpfade an, an die 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.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
| Aliase: | PSPath |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-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.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
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.