Share via


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 \ och 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 ansluta till sökvägen C:\Win* och den underordnade sökvägen System*. 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 underordnade Subdir-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 rotegenskapen för objekten PSDriveInfo och kombinerar den med den angivna underordnade sökvägen.

Utdata visar att PowerShell-enheterna på datorn innehåller en enhet som mappats till katalogen C:\Program Files.

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.

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

String

Du kan skicka en sträng som innehåller en sökväg till denna cmdlet.

Utdata

String

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, Registryoch 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.