Gibt den angegebenen Teil eines Pfads zurück.
Syntax
Split-Path [-IsAbsolute] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-Leaf] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-NoQualifier] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-Parent] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-Qualifier] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]
Beschreibung
Das Cmdlet "Split-Path" gibt nur den angegebenen Teil eines Pfads zurück, z. B. das übergeordnete Verzeichnis, ein untergeordnetes Verzeichnis oder einen Dateinamen. Außerdem können die Elemente angezeigt 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 anzeigen oder senden.
Parameter
-Credential <PSCredential>
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01". Oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Cmdlet "Get-Credential" generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.
Dieser Parameter wird nicht von mit Windows PowerShell installierten Anbietern unterstützt.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-IsAbsolute
Gibt TRUE zurück, wenn der Pfad absolut ist, und FALSE, wenn der Pfad relativ ist. Ein absoluter Pfad weist eine Länge größer als 0 (null) auf und verwendet keinen Punkt (.), um den aktuellen Pfad anzugeben.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Leaf
Gibt nur das letzte Element bzw. den letzten Container im Pfad zurück. Für den Pfad "C:\Test\Logs\Pass1.log" wird beispielsweise nur "Pass1.log" zurückgegeben.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-LiteralPath <string[]>
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 veranlassen Windows PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-NoQualifier
Gibt den Pfad ohne den Qualifizierer zurück. Für den FileSystem- bzw. Registry-Anbieter ist der Qualifizierer das Laufwerk des Anbieterpfads, beispielsweise "C:" oder "HKCU:". Für den Pfad "C:\Test\Logs\Pass1.log" wird beispielsweise nur "\Test\Logs\Pass1.log" zurückgegeben.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Parent
Gibt nur die übergeordneten Container des vom Pfad angegebenen Elements bzw. Containers zurück. Für den Pfad "C:\Test\Logs\Pass1.log" wird beispielsweise "C:\Test\Logs" zurückgegeben. Der Parent-Parameter ist der Standardparameter zum Teilen von Speicherorten.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Path <string[]>
Gibt die zu teilenden Pfade an. Platzhalter sind zulässig. Wenn der Pfad Leerzeichen enthält, müssen Sie ihn in Anführungszeichen einschließen. Sie können einen Pfad auch über die Pipeline an Split-Path übergeben.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue, ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Qualifier
Gibt nur den Qualifizierer des angegebenen Pfads zurück. Für den FileSystem- bzw. Registry-Anbieter ist der Qualifizierer das Laufwerk des Anbieterpfads, beispielsweise "C:" oder "HKCU:".
Erforderlich? |
false |
Position? |
2 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Resolve
Zeigt die Elemente an, auf die vom resultierenden geteilten Pfad verwiesen wird, statt die Pfadelemente anzuzeigen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-UseTransaction
Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter "about_Transactions".
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.String Sie können eine Zeichenfolge mit einem Pfad über die Pipeline an Split-Path übergeben. |
Ausgaben |
System.String Das Cmdlet "Split-Path" gibt Textzeichenfolgen zurück. Bei Verwendung des Resolve-Parameters gibt Split-Path eine Zeichenfolge zurück, die den Speicherort der Elemente beschreibt, und keine Objekte, die die Elemente darstellen, z. B. ein FileInfo-Objekt oder ein RegistryKey-Objekt. |
Hinweise
Die Parameter zum Teilen von Speicherorten (Qualifier, Parent, Leaf und NoQualifier) schließen sich gegenseitig aus. In einem Befehl kann immer nur ein Parameter angegeben werden.
Die Cmdlets, die das Substantiv "Path" enthalten (die Path-Cmdlets), bearbeiten Pfadnamen und geben die Namen in einem präzisen Format zurück, das von allen Windows PowerShell-Anbietern interpretiert werden kann. Diese können in Programmen und Skripts verwendet werden, in denen ein Pfadname vollständig oder teilweise in einem bestimmten Format angezeigt werden soll. Die Verwendung entspricht der von "Dirname", "Normpath", "Realpath", "Join" und anderer Befehle zum Bearbeiten von Pfaden.
Sie können die Pfad-Cmdlets mit verschiedenen Anbietern verwenden, u. a. dem FileSystem-, Registry- und Certificate-Anbieter.
Das Cmdlet "Split-Path" ist für die Verwendung mit Daten konzipiert, die von beliebigen Anbietern verfügbar gemacht werden. Um die in der Sitzung verfügbaren Anbieter aufzuführen, geben Sie "Get-PSProvider" ein. Weitere Informationen finden Sie unter "about_Providers".
Beispiel 1
C:\PS>split-path "HKCU:\Software\Microsoft" -qualifier HKCU: Beschreibung ----------- Mit diesem Befehl wird nur der Qualifizierer (das Laufwerk) des Pfads zurückgegeben.
Beispiel 2
C:\PS>split-path "C:\Test\Logs\*.log" -leaf -resolve Pass1.log Pass2.log ... Beschreibung ----------- Mit diesem Befehl werden die Dateien angezeigt, auf die vom geteilten Pfad verwiesen wird. Da sich die Teilung dieses Pfads bis auf das letzte Element ("leaf") bezieht, werden nur die Dateinamen der Pfade angezeigt. 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. Es werden keine FileInfo-Objekte zurückgegeben, die die Dateien darstellen.
Beispiel 3
C:\PS>split-path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt" C:\WINDOWS\system32\WindowsPowerShell\V1.0 Beschreibung ----------- Mit diesem Befehl werden nur die übergeordneten Container des Pfads zurückgegeben. Da er keine Parameter enthält, die die Teilung angeben, wird von Split-Path der Standardparameter zum Teilen von Speicherorten "Parent" verwendet.
Beispiel 4
C:\PS>split-path ".\My Pictures\*.jpg" -IsAbsolute False Beschreibung ----------- Mit diesem Befehl wird bestimmt, ob der Pfad relativ oder absolut ist. In diesem Fall wird FALSE ("$false") zurückgegeben, weil der Pfad relativ zum aktuellen Verzeichnis ist, das durch einen Punkt (.) dargestellt wird.
Beispiel 5
C:\PS>set-location (split-path $profile) PS C:\Documents and Settings\juneb\My Documents\WindowsPowerShell> Beschreibung ----------- Mit diesem Befehl wird der aktuelle Speicherort in das Verzeichnis geändert, das das Windows PowerShell-Profil enthält. Der Befehl in Klammern gibt mit dem Cmdlet "Split-Path" nur das übergeordnete Verzeichnis des Pfads zurück, der in der integrierten Variablen "$Profile" gespeichert ist. (Der Parent-Parameter ist der Standardparameter zum Teilen von Speicherorten, sie können ihn deshalb im Befehl weglassen.) Durch die Klammern führt Windows PowerShell den Befehl zuerst aus. Dies ermöglicht das einfache Navigieren zu einem Verzeichnis mit langem Pfadnamen.
Beispiel 6
C:\PS>'C:\Documents and Settings\User01\My Documents\My Pictures' | split-path C:\Documents and Settings\User01\My Documents Beschreibung ----------- Dieser Befehl sendet einen Pfad mithilfe eines Pipelineoperators (|) an das Cmdlet "Split-Path". Der Pfad ist in Anführungszeichen eingeschlossen, um anzugeben, dass es sich um ein einzelnes Token handelt.
Siehe auch