Split-Path
Gibt den angegebenen Teil eines Pfads zurück.
Syntax
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>]
Beschreibung
Das Cmdlet gibt nur den angegebenen Teil eines Pfads zurück, z. B. den übergeordneten Ordner, einen Unterordner oder einen Dateinamen. Außerdem können Elemente abgerufen werden, auf die von dem geteilten Pfad verwiesen wird, und es kann angegeben werden, ob es sich um einen relativen oder absoluten Pfad handelt.
Sie können mit diesem Cmdlet nur einen ausgewählten Teil eines Pfads abrufen oder senden.
Beispiele
Beispiel 1: Abrufen des Qualifizierers eines Pfads
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
Dieser Befehl gibt nur den Qualifizierer des Pfads zurück. Der Qualifizierer ist das Laufwerk.
Beispiel 2: Anzeigen von Dateinamen
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...
Mit diesem Befehl werden die Dateien angezeigt, auf die vom geteilten Pfad verwiesen wird. Da dieser Pfad auf das letzte Element aufgeteilt wird, das auch als Blatt bezeichnet wird, zeigt der Befehl nur die Dateinamen an.
Der Resolve-Parameter weist Split-Path
an, die Elemente anzuzeigen, auf die der geteilte Pfad verweist, anstatt den geteilten Pfad anzuzeigen.
Wie alle Split-Path
Befehle gibt dieser Befehl Zeichenfolgen zurück. FileInfo-Objekte, die die Dateien darstellen, werden nicht zurückgegeben.
Beispiel 3: Abrufen des übergeordneten Containers
Split-Path -Path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0
Mit diesem Befehl werden nur die übergeordneten Container des Pfads zurückgegeben. Da keine Parameter zum Angeben der Aufteilung enthalten sind, Split-Path
wird der Standardwert für den geteilten Speicherort verwendet, der parent ist.
Beispiel 4: Bestimmt, ob ein Pfad absolut ist
Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False
Mit diesem Befehl wird bestimmt, ob der Pfad relativ oder absolut ist. Da der Pfad in diesem Fall relativ zum aktuellen Ordner ist, der durch einen Punkt (.
) dargestellt wird, wird zurückgegeben $False
.
Beispiel 5: Ändern des Speicherorts in einen angegebenen Pfad
PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Documents and Settings\User01\My Documents\WindowsPowerShell>
Dieser Befehl ändert Ihren Speicherort in den Ordner, der das PowerShell-Profil enthält.
Der Befehl in Klammern verwendet Split-Path
, um nur das übergeordnete Element des Pfads zurückzugeben, der in der integrierten $Profile
Variablen gespeichert ist. Der Parent-Parameter ist der Standardparameter für den geteilten Speicherort.
Daher können Sie ihn im Befehl weglassen. Die Klammern weisen PowerShell an, den Befehl zuerst auszuführen. Dies ist eine nützliche Möglichkeit, um in einen Ordner mit einem langen Pfadnamen zu wechseln.
Beispiel 6: Aufteilen eines Pfads mithilfe der Pipeline
'C:\Documents and Settings\User01\My Documents\My Pictures' | Split-Path
C:\Documents and Settings\User01\My Documents
Dieser Befehl verwendet einen Pipelineoperator (|
), um einen Pfad an zu zu Split-Path
senden. Der Pfad ist in Anführungszeichen eingeschlossen, um anzugeben, dass es sich um ein einzelnes Token handelt.
Parameter
-Credential
Hinweis
Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command, um die Identität eines anderen Benutzers zu annehmen oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Extension
Gibt an, dass dieses Cmdlet nur die Erweiterung des Blatts zurückgibt. Im Pfad C:\Test\Logs\Pass1.log
wird beispielsweise nur .log
zurückgegeben.
Dieser Parameter wurde in PowerShell 6.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IsAbsolute
Gibt an, dass dieses Cmdlet zurückgibt $True
, wenn der Pfad absolut und $False, wenn er relativ ist. Ein absoluter Pfad hat eine Länge größer als 0 (null), und es wird kein Punkt (.
) verwendet, um den aktuellen Pfad anzugeben.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Leaf
Gibt an, dass dieses Cmdlet nur das letzte Element oder den letzten Container im Pfad zurückgibt. Im Pfad C:\Test\Logs\Pass1.log
wird beispielsweise nur Pass1.log zurückgegeben.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LeafBase
Gibt an, dass dieses Cmdlet nur den Basisnamen des Blatts zurückgibt. Im Pfad C:\Test\Logs\Pass1.log
wird beispielsweise nur Pass1
zurückgegeben.
Dieser Parameter wurde in PowerShell 6.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Gibt die zu teilenden Pfade an. Im Gegensatz zu Path wird der Wert von LiteralPath genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoQualifier
Gibt an, dass dieses Cmdlet den Pfad ohne den Qualifizierer zurückgibt. Für den FileSystem- oder Registrierungsanbieter ist der Qualifizierer das Laufwerk des Anbieterpfads, z C:
. B. oder HKCU:
. Im Pfad C:\Test\Logs\Pass1.log
wird beispielsweise nur \Test\Logs\Pass1.log
zurückgegeben.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Parent
Gibt an, dass dieses Cmdlet nur die übergeordneten Container des Elements oder des durch den Pfad angegebenen Containers zurückgibt. Im Pfad C:\Test\Logs\Pass1.log
wird beispielsweise zurückgegeben C:\Test\Logs
.
Der Parent-Parameter ist der Standardparameter für den geteilten Speicherort.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Gibt die zu teilenden Pfade an. Platzhalterzeichen sind zulässig. Wenn der Pfad Leerzeichen enthält, müssen Sie ihn in Anführungszeichen einschließen. Sie können auch einen Pfad an dieses Cmdlet übergeben.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Qualifier
Gibt an, dass dieses Cmdlet nur den Qualifizierer des angegebenen Pfads zurückgibt. Für den FileSystem- oder Registrierungsanbieter ist der Qualifizierer das Laufwerk des Anbieterpfads, z C:
. B. oder HKCU:
.
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Resolve
Gibt an, dass dieses Cmdlet die Elemente anzeigt, auf die vom resultierenden geteilten Pfad verwiesen wird, anstatt die Pfadelemente anzuzeigen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können eine Zeichenfolge, die einen Pfad enthält, an dieses Cmdlet übergeben.
Ausgaben
System.String, System.Boolean
Split-Path
gibt Textzeichenfolgen zurück. Wenn Sie den Resolve-Parameter angeben, gibt eine Zeichenfolge zurück, Split-Path
die den Speicherort der Elemente beschreibt. Es werden keine Objekte zurückgegeben, die die Elemente darstellen, z. B. ein FileInfo- oder RegistryKey-Objekt .
Wenn Sie den Parameter IsAbsolute angeben, Split-Path
wird ein boolescher Wert zurückgegeben.
Hinweise
Die Parameter für geteilte Speicherorte (Qualifizierer, Parent, Extension, Leaf, LeafBase und NoQualifier) sind exklusiv. In einem Befehl kann immer nur ein Parameter angegeben werden.
Die Cmdlets, die das Pfad-Substantiv (die Pfad-Cmdlets) enthalten, arbeiten mit Pfadnamen und geben die Namen in einem präzisen Format zurück, das alle PowerShell-Anbieter interpretieren können. Diese können in Programmen und Skripts verwendet werden, in denen ein Pfadname vollständig oder teilweise in einem bestimmten Format angezeigt werden soll. Verwenden Sie sie so, wie Sie Dirname, Normpath, Realpath, Join oder andere Pfadmanipulatoren verwenden würden.
Sie können die Pfad-Cmdlets zusammen mit mehreren Anbietern verwenden. Dazu gehören die Anbieter FileSystem, Registry und Certificate.
Split-Path
ist für die Arbeit mit den Daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten, geben Sie einGet-PSProvider
. Weitere Informationen finden Sie unter about_Providers.