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>]
说明
              Split-Path cmdlet 仅返回路径的指定部分,例如父文件夹、子文件夹或文件名。 它还可以获取拆分路径引用的项,并判断路径是相对路径还是绝对路径。 如果在未指定任何其他参数的情况下拆分路径,Split-Path 返回提供的路径的父部分。
              Split-Path 命令返回字符串。 它不会 返回 FileInfo 或其他项对象,如 *-Item 命令。
示例
示例 1:获取路径的限定符
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
此命令仅返回路径的限定符。 限定符是驱动器。
示例 2:显示路径的文件名部分
使用 Leaf 参数时,Split-Path 仅返回提供的路径字符串中的最后一项,无论该项是文件还是目录。
Split-Path -Path .\folder1\*.txt -Leaf
*.txt
Split-Path -Path .\folder1\*.txt -Leaf -Resolve
file1.txt
file2.txt
使用 Resolve 参数时,Split-Path 解析提供的路径字符串并返回路径引用的项。
示例 3:获取父容器
使用 Parent 参数时,Split-Path 仅返回提供的路径字符串的父容器部分。 如果 Path 字符串不包含父容器,则 Split-Path 返回空字符串。
Split-Path -Path .\folder1\file1.txt -Parent
.\folder1
Split-Path -Path .\folder1\file1.txt -Parent -Resolve
D:\temp\test\folder1
使用 Resolve 参数时,Split-Path 解析提供的路径字符串,并返回父容器的完整路径。
示例 4:确定路径是否为绝对路径
此命令确定路径是相对路径还是绝对路径。 在这种情况下,由于路径相对于当前文件夹(由点(.)表示),因此返回 $false。
Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False
示例 5:将位置更改为指定路径
此命令将位置更改为包含 PowerShell 配置文件的文件夹。
PS C:\> Set-Location (Split-Path -Path $PROFILE)
PS C:\Users\User01\Documents\PowerShell>
括号中的命令使用 Split-Path 仅返回内置 $PROFILE 变量中存储的路径的父级。 
              Parent 参数是默认的拆分位置参数。
因此,可以从命令中省略它。 括号指示 PowerShell 先运行命令。 这是移动到具有长路径名称的文件夹的一种有用方法。
示例 6:使用管道拆分路径
'C:\Users\User01\My Documents\My Pictures' | Split-Path
C:\Users\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。 在 Windows 上,绝对路径字符串必须以提供程序驱动器说明符开头,例如 C: 或 HKCU:。 相对路径以点(.)或点(..)开头。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					IsAbsoluteSet 
					
				  
				| Position: | Named | 
| 必需: | True | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Leaf
使用 Leaf 参数时,Split-Path 仅返回提供的路径字符串中的最后一项,无论该项是文件还是目录。
参数属性
| 类型: | 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
              Split-Path 仅返回提供的路径字符串的父容器部分。 如果 Path 字符串不包含父容器,则 Split-Path 返回空字符串。
参数属性
| 类型: | 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。
输出
String
此 cmdlet 返回文本字符串。 指定 Resolve 参数时,它将返回描述项位置的字符串。 它不返回表示项的对象,例如 FileInfo 或 RegistryKey 对象。
Boolean
指定 IsAbsolute 参数时,此 cmdlet 返回 布尔值 值。
备注
- 拆分位置参数(限定符、父、扩展、叶、LeafBase和 NoQualifier)都是独占的。 每个命令中只能使用一个。 
- 包含 Path 名词(Path cmdlet)的 cmdlet 使用路径名称,并返回所有 PowerShell 提供程序可以解释的简洁格式的名称。 它们旨在用于要以特定格式显示路径名称的所有或部分的程序和脚本。 使用它们的方式使用 Dirname、Normpath、Realpath、Join或其他路径操控器。 
- 可以将 Path cmdlet 与多个提供程序一起使用。 其中包括 FileSystem、注册表和证书提供程序。 
- Split-Path被设计用于处理任何供应商公开的数据。 若要列出会话中可用的提供程序,请键入- Get-PSProvider。 有关详细信息,请参阅 about_Providers。