Udostępnij za pośrednictwem


Join-Path

Łączy ścieżkę i ścieżkę podrzędną w jedną ścieżkę.

Składnia

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

Opis

Polecenie Join-Path cmdlet łączy ścieżkę i ścieżkę podrzędną w jedną ścieżkę. Dostawca dostarcza ograniczniki ścieżki.

Przykłady

Przykład 1: Łączenie ścieżki ze ścieżką podrzędną

PS C:\> Join-Path -Path "path" -ChildPath "childpath"

path\childpath

To polecenie służy Join-Path do łączenia ścieżki z ścieżką podrzędną.

Ponieważ polecenie jest wykonywane od FileSystem dostawcy, udostępnia \ ogranicznik do przyłączenia ścieżek.

Przykład 2. Łączenie ścieżek, które zawierają już separatory katalogów

PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

Istniejące separatory katalogów \ są obsługiwane, więc istnieje tylko jeden separator między Path i ChildPath

Przykład 3. Wyświetlanie plików i folderów przez dołączenie ścieżki do ścieżki podrzędnej

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

To polecenie wyświetla pliki i foldery, do których odwołuje się dołączenie C:\Win\* ścieżki i ścieżki podrzędnej System\* . Wyświetla on te same pliki i foldery co Get-ChildItem, ale wyświetla w pełni kwalifikowaną ścieżkę do każdego elementu. W tym poleceniu Path pominięto i ChildPath opcjonalne nazwy parametrów.

Przykład 4. Używanie Join-Path z dostawcą rejestru programu PowerShell

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

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

To polecenie wyświetla klucze rejestru w podkluczu HKLM\System rejestru, który zawiera ControlSet.

Parametr Resolve próbuje rozpoznać sprzężonej ścieżki, w tym symbole wieloznaczne z bieżącej ścieżki dostawcy HKLM:\

Przykład 5. Łączenie wielu katalogów głównych ścieżki ze ścieżką podrzędną

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

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

To polecenie używa Join-Path do łączenia wielu katalogów głównych ścieżek ze ścieżką podrzędną.

Uwaga

Dyski określone przez Path muszą istnieć lub sprzężenia tego wpisu zakończy się niepowodzeniem.

Przykład 6: Łączenie katalogów głównych dysku systemu plików ze ścieżką podrzędną

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

C:\Subdir
D:\Subdir

To polecenie łączy katalogi głównych każdego dysku systemu plików programu PowerShell w konsoli ze ścieżką podrzędną Subdir .

Polecenie używa Get-PSDrive polecenia cmdlet do pobrania dysków programu PowerShell obsługiwanych przez dostawcę systemu plików. Instrukcja ForEach-Object wybiera tylko właściwość Root obiektów PSDriveInfo i łączy ją z określoną ścieżką podrzędną.

Dane wyjściowe pokazują, że dyski programu PowerShell na komputerze zawierały dysk zamapowany na C:\Program Files katalog.

Przykład 7: Łączenie nieokreślonej liczby ścieżek

Join-Path a b c d e f g

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

Parametr AdditionalChildPath umożliwia łączenie nieograniczonej liczby ścieżek.

W tym przykładzie nie są używane żadne nazwy parametrów, więc "a" wiąże się z Path, "b" z ChildPath i "c-g" AdditionalChildPath

Parametry

-AdditionalChildPath

Określa dodatkowe elementy, które mają być dołączane do wartości parametru Path . Parametr ChildPath jest nadal obowiązkowy i musi być również określony.

Ten parametr jest określany za ValueFromRemainingArguments pomocą właściwości , która umożliwia dołączanie do nieokreślonej liczby ścieżek.

Ten parametr został dodany w programie PowerShell 6.0.

Type:String[]
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ChildPath

Określa elementy, które mają być dołączane do wartości parametru Path . Dozwolone są symbole wieloznaczne. Parametr ChildPath jest wymagany, chociaż nazwa parametru ("ChildPath") jest opcjonalna.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Credential

Uwaga

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby personifikować innego użytkownika lub podnieść poziom poświadczeń podczas uruchamiania tego polecenia cmdlet, użyj polecenia Invoke-Command.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Path

Określa ścieżkę główną (lub ścieżki), do której dołączana jest ścieżka-podrzędna. Dozwolone są symbole wieloznaczne.

Wartość Path określa, który dostawca łączy ścieżki i dodaje ograniczniki ścieżki. Parametr Path jest wymagany, chociaż nazwa parametru ("Ścieżka") jest opcjonalna.

Type:String[]
Aliases:PSPath
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Resolve

Wskazuje, że to polecenie cmdlet powinno podjąć próbę rozpoznania ścieżki przyłączonej od bieżącego dostawcy.

  • Jeśli są używane symbole wieloznaczne, polecenie cmdlet zwraca wszystkie ścieżki pasujące do ścieżki sprzężonej.
  • Jeśli nie są używane żadne symbole wieloznaczne, polecenie cmdlet zwróci błąd, jeśli ścieżka nie istnieje.
Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

String

Możesz potokować ciąg zawierający ścieżkę do tego polecenia cmdlet.

Dane wyjściowe

String

To polecenie cmdlet zwraca ciąg zawierający wynikową ścieżkę.

Uwagi

Polecenia cmdlet, które zawierają czasownik Ścieżki (polecenia cmdlet ścieżki) manipulują nazwami ścieżek i zwracają nazwy w zwięzłym formacie, który mogą interpretować wszyscy dostawcy programu PowerShell. Są one przeznaczone do użytku w programach i skryptach, w których chcesz wyświetlić wszystkie lub część nazwy ścieżki w określonym formacie. Użyj ich tak, jakby używać Dirnamemanipulatorów ścieżek , Normpath, Realpath, Joinlub innych.

Możesz użyć poleceń cmdlet ścieżki z kilkoma dostawcami, w tym FileSystemdostawcami , Registryi Certificate .

To polecenie cmdlet jest przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.