Join-Path
Kombiniert einen Pfad und einen untergeordneten Pfad in einen einzelnen Pfad.
Syntax
Default (Standard)
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[-Extension <String>]
[<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
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-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.
Der parameter Resolve versucht, den verknüpften Pfad aufzulösen, einschließlich Der Wildcards aus dem aktuellen Anbieterpfad 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 das Verknüpfen einer unbegrenzten Anzahl von Pfaden.
In diesem Beispiel werden keine Parameternamen verwendet, daher wird "a" an Path, "b" an ChildPath und "c-g" an AdditionalChildPathgebunden.
Beispiel 8: Kombinieren einer unbegrenzten Anzahl von Pfaden
Der ChildPath Parameter ermöglicht das Verknüpfen eines Arrays von Pfaden.
Join-Path -Path a -ChildPath b, c, d, e, f, g
a\b\c\d\e\f\g
Beispiel 9: Hinzufügen einer Erweiterung zur Datei ohne Erweiterung
Join-Path C:\Temp myfile -Extension txt
C:\Temp\myfile.txt
Beispiel 10: Ändern einer vorhandenen Erweiterung
Join-Path C:\Temp myfile.txt -Extension .log
C:\Temp\myfile.log
Beispiel 11: Erweiterung ohne führenden Punkt
Join-Path C:\Temp file.txt -Extension log
C:\Temp\file.log
Beispiel 12: Entfernen der Erweiterung mit leerer Zeichenfolge
Join-Path C:\Temp file.txt -Extension ""
C:\Temp\file
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.
Ab PowerShell 7.6-preview.4 akzeptiert dieser Parameter ein Array von Zeichenfolgen. Auf diese Weise können Sie mehrere untergeordnete Pfade angeben, die mit dem Hauptpfad verknüpft werden sollen. Sie können diesen Parameter anstelle des AdditionalChildPath--Parameters verwenden.
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 |
-Extension
Gibt die Erweiterung an, die für den resultierenden Pfad verwendet werden soll. Wenn nicht angegeben, wird die ursprüngliche Erweiterung beibehalten. Der führende Punkt in der Erweiterung ist optional. Wenn sie weggelassen wird, wird der Befehl automatisch hinzugefügt.
- Wenn der Pfad über eine vorhandene Erweiterung verfügt, wird er durch die angegebene Erweiterung ersetzt.
- Wenn der Pfad keine Erweiterung hat, wird die angegebene Erweiterung hinzugefügt.
- Wenn Sie eine leere Zeichenfolge angeben, wird die vorhandene Erweiterung entfernt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | True |
| 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. Der Wert von Path bestimmt, welcher Anbieter die Pfade verknüpft und die Pfadtrennzeichen hinzufügt. Wildcards sind zulässig.
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 Sie Wildcards verwenden, gibt das Cmdlet alle Pfade zurück, die mit dem verknüpften Pfad übereinstimmen.
- Wenn Sie keine Wildcards verwenden, gibt das Cmdlet einen Fehler zurück, 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 enthalten, bearbeiten Pfadnamen und geben die Namen in einem präzisen Format zurück, das alle PowerShell-Anbieter interpretieren können. Sie sind so konzipiert, dass sie verwendet werden, wo Sie den gesamten oder einen Teil eines Pfads 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.