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 używa Join-Path do łączenia ścieżki z ścieżką podrzędną.

Ponieważ polecenie jest wykonywane od dostawcy FileSystem , zapewnia \ ogranicznik do sprzężenia ś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 \ i 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 ścieżki C:\Win* 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 nazwy parametrów 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 HKLM\System rejestru, który zawiera ControlSet.

Parametr Resolve próbuje rozpoznać ścieżkę dołą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żki ze ścieżką podrzędną.

Uwaga

Dyski określone przez Path element 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ść PSDriveInfo Root obiektów 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 nieskończonej 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 Pathparametrami , "b" do ChildPath i "c-g" AdditionalChildPath

Parametry

-AdditionalChildPath

Określa dodatkowe elementy, które mają zostać dołączone do wartości parametru Path . Parametr ChildPath jest nadal obowiązkowy i należy go również określić.

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

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

-ChildPath

Określa elementy, które mają zostać dołączone 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 jest dołączona ścieżka podrzędna. Dozwolone są symbole wieloznaczne.

Wartość określa Path , 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 dołączonej.
  • Jeśli nie są używane symbole wieloznaczne, polecenie cmdlet spowoduje 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 zawierające 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ć całą lub część nazwy ścieżki w określonym formacie. Użyj ich tak, jak można użyć dirname, Normpath, Realpath, Join lub 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.