Return part of a path.
Syntax Split-Path [-path] string[] [SplitLocationParam] [-literalPath string[]] [-resolve] [-UseTransaction] [-credential PSCredential] [CommonParameters] Key -Path string[] The path(s) to be split.{may be piped} Wildcards are permitted. -LiteralPath string[] The paths to be split. Like Path above, only the value is used exactly as typed. No characters are interpreted as wildcards. If the path includes any escape characters then enclose the path in single quotation marks. SplitLocationParam One of: -parent, -qualifier, -noQualifier, -leaf or -isAbsolute -parent Return the parent container of the item (parent folder) -qualifier Return the drive/qualifier of the specified path. (C: or HKCU:) -noQualifier Return the path without the drive/qualifier (\path\to\resource). -leaf Return the last item or container in the path.(filename) -IsAbsolute Returns TRUE if the path is absolute and FALSE if it is relative. (An absolute path has a length greater than zero and does not use a dot ( . ) to indicate the current path.) -Resolve Display the items that are referenced by the resulting split path instead of displaying the path elements. -Credential PSCredential Use a credential to validate access to the file. Credential represents a user-name, such as "User64" or "Domain64\User64", or a PSCredential object, such as the one retrieved by using the Get-Credential cmdlet. If you type a user name, you will be prompted for a password. This parameter is not supported by any PowerShell core cmdlets or providers. -UseTransaction Include the command in the active transaction. CommonParameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, -OutBuffer -OutVariable.
Examples
Display a list of .XLS filenames in the docs folder (don't return the whole path):
PS C:\> split-path "C:\Docs\*.xls" -leaf -resolve
Change directory to the folder containing the PowerShell $Profile:
PS C:\> Set-Location(split-path $profile -parent)
The above can be simplified with the 'cd' alias for set-location and relying on -parent being the default:
PS C:\> cd(split-path $profile)
“A gentle stream can split a mountain, given enough time”
Related PowerShell Cmdlets:
Convert-path cvpa Convert a ps path to a provider path.
Join-path - Combine a path and child-path.
Resolve-path - Resolves the wildcards in a path.
Test-path Return true if the path exists, otherwise return false.
Get-help about_namespace
Equivalent bash command: dirname - Convert a full pathname to just a path.