Split-Path
返回路径的指定部分。
语法
ParentSet (默认值)
Split-Path
[-Path] <String[]>
[-Parent]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
LeafSet
Split-Path
[-Path] <String[]>
-Leaf
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
LeafBaseSet
Split-Path
[-Path] <String[]>
-LeafBase
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
ExtensionSet
Split-Path
[-Path] <String[]>
-Extension
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
QualifierSet
Split-Path
[-Path] <String[]>
-Qualifier
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
NoQualifierSet
Split-Path
[-Path] <String[]>
-NoQualifier
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
IsAbsoluteSet
Split-Path
[-Path] <String[]>
-IsAbsolute
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
LiteralPathSet
Split-Path
-LiteralPath <String[]>
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
说明
cmdlet 仅返回路径的指定部分,例如父文件夹、子文件夹或文件名。 它还可以获取拆分路径引用的项,并判断路径是相对路径还是绝对路径。
可以使用此 cmdlet 获取或仅提交路径的选定部分。
示例
示例 1:获取路径的限定符
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
此命令仅返回路径的限定符。 限定符是驱动器。
示例 2:显示文件名
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...
此命令显示拆分路径引用的文件。 由于此路径拆分为最后一项(也称为叶),因此该命令仅显示文件名。
“解决”参数指示Split-Path显示拆分路径引用的项,而不是显示拆分路径。
与所有 Split-Path 命令一样,此命令返回字符串。 它不返回表示文件的 fileInfo 对象
示例 3:获取父容器
Split-Path -Path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0
此命令仅返回路径的父容器。 因为它不包含任何用于指定拆分的参数, Split-Path 所以使用拆分位置默认值,即 父级。
示例 4:确定路径是否为绝对路径
Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False
此命令确定路径是相对路径还是绝对路径。 在这种情况下,由于路径相对于当前文件夹(由点(.)表示),因此返回 $False。
示例 5:将位置更改为指定路径
PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Documents and Settings\User01\My Documents\WindowsPowerShell>
此命令将位置更改为包含 PowerShell 配置文件的文件夹。
括号中的命令使用 Split-Path 仅返回内置 $Profile 变量中存储的路径的父级。
Parent 参数是默认的拆分位置参数。
因此,可以从命令中省略它。 括号指示 PowerShell 先运行命令。 这是移动到具有长路径名称的文件夹的一种有用方法。
示例 6:使用管道拆分路径
'C:\Documents and Settings\User01\My Documents\My Pictures' | Split-Path
C:\Documents and Settings\User01\My Documents
此命令使用管道运算符(|)将路径发送到 Split-Path。 该路径用引号括起来,以指示它是单个标记。
参数
-Credential
注释
任何随 PowerShell 一起安装的提供程序都不支持此参数。 要模拟其他用户,或在运行此 cmdlet 时提升凭据,请使用 Invoke-Command。
参数属性
| 类型: | PSCredential |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Extension
指示此 cmdlet 仅返回叶的扩展。 例如,在路径 C:\Test\Logs\Pass1.log中,它仅返回 .log。
此参数是在 PowerShell 6.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ExtensionSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-IsAbsolute
指示此 cmdlet 在路径为绝对路径时返回,如果路径是相对路径,则返回 $True $False。 绝对路径的长度大于零,并且不使用点 (.) 来指示当前路径。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
IsAbsoluteSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Leaf
指示此 cmdlet 仅返回路径中的最后一项或容器。 例如,在路径 C:\Test\Logs\Pass1.log中,它仅返回Pass1.log。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
LeafSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-LeafBase
指示此 cmdlet 仅返回叶的基名称。 例如,在路径 C:\Test\Logs\Pass1.log中,它仅返回 Pass1。
此参数是在 PowerShell 6.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
LeafBaseSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-LiteralPath
指定要拆分的路径。 与 路径不同,LiteralPath 的值是按照输入内容原样使用的。 不会将任何字符解释为通配字符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | PSPath, LP |
参数集
LiteralPathSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-NoQualifier
指示此 cmdlet 返回没有限定符的路径。 对于 FileSystem 或注册表提供程序,限定符是提供程序路径的驱动器,例如 C: 或 HKCU:。 例如,在路径 C:\Test\Logs\Pass1.log中,它仅返回 \Test\Logs\Pass1.log。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
NoQualifierSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Parent
指示此 cmdlet 仅返回项或路径指定的容器的父容器。 例如,在路径 C:\Test\Logs\Pass1.log中,它返回 C:\Test\Logs。
Parent 参数是默认的拆分位置参数。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ParentSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Path
指定要拆分的路径。 允许使用通配符。 如果路径包含空格,请将它括在引号中。 还可以通过管道传递此 cmdlet 的路径。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
ParentSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
LeafSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
LeafBaseSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
ExtensionSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
QualifierSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
NoQualifierSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
IsAbsoluteSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Qualifier
指示此 cmdlet 仅返回指定路径的限定符。 对于 FileSystem 或注册表提供程序,限定符是提供程序路径的驱动器,例如 C: 或 HKCU:。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
QualifierSet
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Resolve
指示此 cmdlet 显示由生成的拆分路径引用的项,而不是显示路径元素。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
System.String, System.Boolean
Split-Path 返回文本字符串。 指定 Resolve 参数时, Split-Path 将返回描述项位置的字符串;它不会返回表示项的对象,例如 FileInfo 或 RegistryKey 对象。
指定 IsAbsolute 参数时, Split-Path 返回布 尔 值。
备注
拆分位置参数(限定符、父、扩展、叶、LeafBase和 NoQualifier)都是独占的。 每个命令中只能使用一个。
包含 Path 名词(Path cmdlet)的 cmdlet 使用路径名称,并返回所有 PowerShell 提供程序可以解释的简洁格式的名称。 它们旨在用于要以特定格式显示路径名称的所有或部分的程序和脚本。 使用它们的方式使用 Dirname、Normpath、Realpath、Join或其他路径操控器。
可以将 Path cmdlet 与多个提供程序一起使用。 其中包括 FileSystem、注册表和证书提供程序。
Split-Path被设计用于处理任何供应商公开的数据。 若要列出会话中可用的提供程序,请键入Get-PSProvider。 有关详细信息,请参阅 about_Providers。