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ą

PS C:\> 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, udostępnia ogranicznik \, aby dołączyć do ścieżek.

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

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

path\childpath

Istniejące separatory katalogów \ i 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 ze ścieżką podrzędną

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

To polecenie wyświetla pliki i foldery, do których się odwołujesz, łącząc ścieżkę C:\Win* i ś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óry zawiera 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 łączenia wielu katalogów głównych ścieżek ze ścieżką podrzędną.

Nuta

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 korzenie każdego dysku systemu plików programu PowerShell w konsoli z ścieżką podrzędną Subdir.

Polecenie używa polecenia 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, które mają być dołączane do wartości parametru ścieżka . 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.

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

Nuta

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 są używane symbole wieloznaczne, polecenie cmdlet zwraca wszystkie ścieżki zgodne ze ścieżką sprzężone.
  • 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 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 zawierające skrót ś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ć całą lub część nazwy ścieżki w określonym formacie. Użyj ich tak, jakby używać dirname, Normpath, Realpath, Join lub innych manipulatorów ścieżek.

Polecenia cmdlet ścieżki można używać z kilkoma dostawcami, w tym dostawcami FileSystem, 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.