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 ze ścieżką podrzędną.

Ponieważ polecenie jest wykonywane z FileSystem dostawcy, udostępnia \ ogranicznik do przyłączenia ś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 \ 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 ze ścieżką podrzędną

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 ścieżki sprzężenia 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ć ścieżkę sprzężoną, 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 służy Join-Path do łączenia wielu katalogów głównych ścieżki 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 i "c-g" do ChildPathAdditionalChildPath

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ślony z właściwością ValueFromRemainingArguments , która umożliwia dołączenie do 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

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.

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ść parametru 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 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 w taki sposób, jak używasz Dirname, , NormpathRealpath, Joinlub innych manipulatorów ścieżek.

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.