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 cmdlet Join-Path łą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ą

Join-Path -Path "path" -ChildPath "childpath"

path\childpath

To polecenie używa Join-Path do łączenia ścieżki ze ścieżką podrzędną.

Ponieważ polecenie jest wykonywane z dostawcy FileSystem, dostarcza ogranicznik \ do łączenia ścieżek.

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

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 a 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, które są wskazywane przez połączenie ścieżki C:\Win\* ze ścieżką podrzędną 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 pominięto nazwy parametrów Path i ChildPath opcjonalnych.

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 rejestru HKLM\System, które zawierają ControlSet.

Parametr Resolve próbuje rozpoznać ścieżkę przyłączoną, 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 kombinowania wielu korzeni ścieżek i ścieżki podrzędnej.

Nota

Dyski określone przez Path muszą istnieć, w przeciwnym razie połączenie 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łówne każdego dysku systemu plików PowerShell z konsoli ze ścieżką podrzędną Subdir.

Polecenie używa „cmdlet” Get-PSDrive w celu 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 katalog C:\Program Files.

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, dlatego "a" wiąże się z Path, "b" z ChildPath i "c-g" do AdditionalChildPath

Parametry

-AdditionalChildPath

Określa dodatkowe elementy dołączone do wartości parametru ścieżki . Parametr ChildPath jest nadal obowiązkowy i należy również go określić.

Ten parametr jest określony z właściwością ValueFromRemainingArguments, która umożliwia łączenie nieokreślonej liczby ścieżek.

Ten parametr został dodany w programie PowerShell 6.0.

Typ:String[]
Position:2
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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.

Typ:String
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-Credential

Nota

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 Invoke-Command.

Typ:PSCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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.

Typ:String[]
Aliasy:PSPath
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-Resolve

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

  • Jeśli używane są symbole wieloznaczne, polecenie cmdlet zwraca wszystkie ścieżki zgodne z połączoną ścieżką.
  • Jeśli nie są używane żadne symbole wieloznaczne, polecenie cmdlet spowoduje błąd, jeśli ścieżka nie istnieje.
Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

Możesz przekierować 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 zawierające rzeczownik Ścieżka (polecenia cmdlet dotyczące ścieżki) manipulują ścieżkami i zwracają je w zwięzłym formacie, który mogą interpretować wszystkie dostawcy programu PowerShell. Są one przeznaczone do użytku w programach i skryptach, w których chcesz wyświetlić całą lub część nazwy ścieżki w określonym formacie. Użyj ich tak, jakby używać Dirname, Normpath, Realpath, Joinlub innych manipulatorów ścieżek.

Polecenia cmdlet mogą być używane z wieloma dostawcami, w tym z dostawcami FileSystem, Registryi Certificate.

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.