Join-Path
Kombinerar en sökväg och en underordnad sökväg till en enda sökväg.
Syntax
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Description
Cmdleten Join-Path
kombinerar en sökväg och en underordnad sökväg till en enda sökväg.
Providern tillhandahåller sökvägsavgränsarna.
Exempel
Exempel 1: Kombinera en sökväg med en underordnad sökväg
PS C:\> Join-Path -Path "path" -ChildPath "childpath"
path\childpath
Det här kommandot använder Join-Path
för att kombinera en sökväg med en underordnad sökväg.
Eftersom kommandot körs från providern FileSystem
tillhandahåller \
det avgränsaren för att ansluta sökvägarna.
Exempel 2: Kombinera sökvägar som redan innehåller katalogavgränsare
PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"
path\childpath
Befintliga katalogavgränsare \
hanteras så att det bara finns en avgränsare mellan Path
och ChildPath
Exempel 3: Visa filer och mappar genom att koppla en sökväg till en underordnad sökväg
Join-Path "C:\win*" "System*" -Resolve
Det här kommandot visar de filer och mappar som refereras genom att koppla C:\Win\*
sökvägen och den System\*
underordnade sökvägen. Den visar samma filer och mappar som Get-ChildItem
, men den visar den fullständigt kvalificerade sökvägen till varje objekt. I det här kommandot utelämnas de valfria parameternamnen Path
och ChildPath
.
Exempel 4: Använd Join-Path med PowerShell-registerprovidern
PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve
HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet
Det här kommandot visar registernycklarna i registerundernyckeln HKLM\System
som innehåller ControlSet
.
Parametern Resolve
försöker matcha den anslutna sökvägen, inklusive jokertecken från den aktuella providersökvägen HKLM:\
Exempel 5: Kombinera flera sökvägsrötter med en underordnad sökväg
Join-Path -Path C:, D:, E:, F: -ChildPath New
C:\New
D:\New
E:\New
F:\New
Det här kommandot använder Join-Path
för att kombinera flera sökvägsrötter med en underordnad sökväg.
Anteckning
De enheter som anges av Path
måste finnas, annars misslyckas anslutningen till posten.
Exempel 6: Kombinera rötterna på en filsystemenhet med en underordnad sökväg
Get-PSDrive -PSProvider filesystem | ForEach-Object {$_.root} | Join-Path -ChildPath "Subdir"
C:\Subdir
D:\Subdir
Det här kommandot kombinerar rötterna för varje PowerShell-filsystemenhet i konsolen med den Subdir
underordnade sökvägen.
Kommandot använder cmdleten Get-PSDrive
för att hämta de PowerShell-enheter som stöds av FileSystem-providern. Instruktionen ForEach-Object
väljer endast egenskapen Root för PSDriveInfo-objekten och kombinerar den med den angivna underordnade sökvägen.
Utdata visar att PowerShell-enheterna på datorn innehåller en enhet som mappats till C:\Program Files
katalogen.
Exempel 7: Kombinera ett obegränsat antal sökvägar
Join-Path a b c d e f g
a\b\c\d\e\f\g
Parametern AdditionalChildPath
tillåter sammanfogning av ett obegränsat antal sökvägar.
I det här exemplet används inga parameternamn, vilket innebär att "a" binder till Path
, "b" till ChildPath
och "c-g" till AdditionalChildPath
Parametrar
-AdditionalChildPath
Anger ytterligare element som ska läggas till i värdet för parametern Path . Parametern ChildPath
är fortfarande obligatorisk och måste också anges.
Den här parametern anges med ValueFromRemainingArguments
egenskapen som gör det möjligt att ansluta ett obegränsat antal sökvägar.
Den här parametern lades till i PowerShell 6.0.
Type: | String[] |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ChildPath
Anger de element som ska läggas till i värdet för parametern Path
. Jokertecken tillåts. Parametern ChildPath
krävs, även om parameternamnet ("ChildPath") är valfritt.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Credential
Anteckning
Den här parametern stöds inte av några providers som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Anger huvudsökvägen (eller sökvägarna) som den underordnade sökvägen läggs till i. Jokertecken tillåts.
Värdet för Path
avgör vilken provider som ansluter sökvägarna och lägger till sökvägsavgränsarna.
Parametern Path
krävs, även om parameternamnet ("Sökväg") är valfritt.
Type: | String[] |
Aliases: | PSPath |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Resolve
Anger att denna cmdlet ska försöka matcha den anslutna sökvägen från den aktuella providern.
- Om jokertecken används returnerar cmdleten alla sökvägar som matchar den kopplade sökvägen.
- Om inga jokertecken används får cmdleten fel om sökvägen inte finns.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka en sträng som innehåller en sökväg till denna cmdlet.
Utdata
Den här cmdleten returnerar en sträng som innehåller den resulterande sökvägen.
Kommentarer
De cmdletar som innehåller path-substantivet (cmdletar för sökväg) manipulerar sökvägsnamn och returnerar namnen i ett kortfattat format som alla PowerShell-leverantörer kan tolka. De är utformade för användning i program och skript där du vill visa hela eller delar av ett sökvägsnamn i ett visst format.
Använd dem på samma sätt som du använder Dirname
, Normpath
, Realpath
, Join
eller andra sökvägsmanipulatörer.
Du kan använda sökvägs-cmdletar med flera providers, inklusive leverantörerna FileSystem
, Registry
och Certificate
.
Den här cmdleten är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över de providrar som är tillgängliga i sessionen skriver du Get-PSProvider
. Mer information finns i about_Providers.