Udostępnij za pośrednictwem


Split-Path

Zwraca określoną część ścieżki.

Składnia

Split-Path
     [-Path] <String[]>
     [-Parent]
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -Leaf
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -LeafBase
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -Extension
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -Qualifier
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -NoQualifier
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Resolve]
     -IsAbsolute
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     -LiteralPath <String[]>
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]

Opis

Polecenie cmdlet zwraca tylko określoną część ścieżki, taką jak folder nadrzędny, podfolder lub nazwa pliku. Może również pobierać elementy, do których odwołuje się ścieżka podziału, i określać, czy ścieżka jest względna, czy bezwzględna.

To polecenie cmdlet służy do pobierania lub przesyłania tylko wybranej części ścieżki.

Przykłady

Przykład 1. Pobieranie kwalifikatora ścieżki

Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier

HKCU:

To polecenie zwraca tylko kwalifikator ścieżki. Kwalifikator to dysk.

Przykład 2. Wyświetlanie nazw plików

Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve

Pass1.log
Pass2.log
...

To polecenie wyświetla pliki, do których odwołuje się ścieżka podziału. Ponieważ ta ścieżka jest podzielona na ostatni element, znany również jako liść, polecenie wyświetla tylko nazwy plików.

Parametr Resolve informuje Split-Path o wyświetlaniu elementów, do których odwołuje się ścieżka podziału, zamiast wyświetlania ścieżki podzielonej.

Podobnie jak wszystkie polecenia Split-Path, to polecenie zwraca ciągi. Nie zwraca FileInfo obiektów reprezentujących pliki.

Przykład 3. Pobieranie kontenera nadrzędnego

Split-Path -Path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"

C:\WINDOWS\system32\WindowsPowerShell\V1.0

To polecenie zwraca tylko kontenery nadrzędne ścieżki. Ponieważ nie zawiera żadnych parametrów do określenia podziału, Split-Path używa domyślnej lokalizacji podziału, która jest nadrzędny.

Przykład 4. Określa, czy ścieżka jest bezwzględna

Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute

False

To polecenie określa, czy ścieżka jest względna, czy bezwzględna. W tym przypadku, ponieważ ścieżka jest względna względem bieżącego folderu, który jest reprezentowany przez kropkę (.), zwraca $False.

Przykład 5. Zmiana lokalizacji na określoną ścieżkę

PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Documents and Settings\User01\My Documents\WindowsPowerShell>

To polecenie zmienia lokalizację folderu zawierającego profil programu PowerShell.

Polecenie w nawiasach używa Split-Path, aby zwrócić tylko element nadrzędny ścieżki przechowywanej we wbudowanej zmiennej $Profile. Parametr parent jest domyślnym parametrem lokalizacji podziału. W związku z tym można go pominąć za pomocą polecenia . Nawiasy kierują program PowerShell, aby najpierw uruchomić polecenie. Jest to przydatny sposób przejścia do folderu, który ma długą nazwę ścieżki.

Przykład 6. Dzielenie ścieżki przy użyciu potoku

'C:\Documents and Settings\User01\My Documents\My Pictures' | Split-Path

C:\Documents and Settings\User01\My Documents

To polecenie używa operatora potoku (|) do wysyłania ścieżki do Split-Path. Ścieżka jest ujęta w cudzysłów, aby wskazać, że jest to pojedynczy token.

Parametry

-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

-Extension

Wskazuje, że to polecenie cmdlet zwraca tylko rozszerzenie liścia. Na przykład w ścieżce C:\Test\Logs\Pass1.logfunkcja zwraca tylko .log.

Ten parametr został wprowadzony w programie PowerShell 6.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-IsAbsolute

Wskazuje, że to polecenie cmdlet zwraca $True, jeśli ścieżka jest bezwzględna i $False, jeśli jest względna. Ścieżka bezwzględna ma długość większą niż zero i nie używa kropki (.), aby wskazać bieżącą ścieżkę.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Leaf

Wskazuje, że to polecenie cmdlet zwraca tylko ostatni element lub kontener w ścieżce. Na przykład w ścieżce C:\Test\Logs\Pass1.logzwraca tylko Pass1.log.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-LeafBase

Wskazuje, że to polecenie cmdlet zwraca tylko nazwę podstawową liścia. Na przykład w ścieżce C:\Test\Logs\Pass1.logfunkcja zwraca tylko Pass1.

Ten parametr został wprowadzony w programie PowerShell 6.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-LiteralPath

Określa ścieżki do podziału. W przeciwieństwie do Pathwartość LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze znaki cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

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

-NoQualifier

Wskazuje, że to polecenie cmdlet zwraca ścieżkę bez kwalifikatora. W przypadku dostawców systemu plików lub rejestru kwalifikator jest dyskiem ścieżki dostawcy, takiej jak C: lub HKCU:. Na przykład w ścieżce C:\Test\Logs\Pass1.logfunkcja zwraca tylko \Test\Logs\Pass1.log.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Parent

Wskazuje, że to polecenie cmdlet zwraca tylko kontenery nadrzędne elementu lub kontenera określonego przez ścieżkę. Na przykład w ścieżce C:\Test\Logs\Pass1.logfunkcja zwraca wartość C:\Test\Logs. Parametr parent jest domyślnym parametrem lokalizacji podziału.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżki do podziału. Dozwolone są symbole wieloznaczne. Jeśli ścieżka zawiera spacje, należy ująć ją w cudzysłów. Możesz również przekazać ścieżkę do tego polecenia cmdlet.

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

-Qualifier

Wskazuje, że to polecenie cmdlet zwraca tylko kwalifikator określonej ścieżki. W przypadku dostawców systemu plików lub rejestru kwalifikator jest dyskiem ścieżki dostawcy, takiej jak C: lub HKCU:.

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

-Resolve

Wskazuje, że to polecenie cmdlet wyświetla elementy, do których odwołuje się wynikowa ścieżka podziału, zamiast wyświetlać elementy ścieżki.

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

System.String, System.Boolean

Split-Path zwraca ciągi tekstowe. Po określeniu parametru ResolveSplit-Path zwraca ciąg opisujący lokalizację elementów; nie zwraca obiektów reprezentujących elementy, takich jak FileInfo lub RegistryKey obiektu.

Po określeniu parametru IsAbsoluteSplit-Path zwraca wartość logiczną .

Uwagi

  • Parametry lokalizacji podziału (kwalifikator, nadrzędne, rozszerzenia, Leaf, LeafBasei NoQualifier) są wyłączne. W każdym poleceniu można użyć tylko jednego polecenia.

  • Polecenia cmdlet zawierające Path noun (Path cmdlet) działają z 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, aby używać Dirname, Normpath, Realpath, Joinlub innych manipulatorów ścieżek.

  • Możesz użyć poleceń cmdlet ścieżki wraz z kilkoma dostawcami. Należą do nich dostawcy systemów plików, rejestru i certyfikatów.

  • Split-Path jest przeznaczona 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.