Split-Path
返回指定的路径部分。
语法
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>]
说明
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 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Extension
指示此 cmdlet 仅返回叶的扩展名。 例如,在路径 C:\Test\Logs\Pass1.log
中,它仅返回 .log
。
此参数是在 PowerShell 6.0 中引入的。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-IsAbsolute
指示此 cmdlet 在路径为绝对路径时返回 $True
,而在路径为相对路径时则返回 $False
。 在 Windows 上,绝对路径字符串必须以提供程序驱动器说明符开头,例如 C:
或 HKCU:
。 相对路径以点(.
)或点(..
) 开头。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Leaf
使用 Leaf 参数时,无论该项是文件还是目录, Split-Path
仅返回提供的路径字符串中的最后一项。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-LeafBase
指示此 cmdlet 仅返回叶的基本名称。 例如,在路径 C:\Test\Logs\Pass1.log
中,它仅返回 Pass1
。
此参数是在 PowerShell 6.0 中引入的。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-LiteralPath
指定要拆分的路径。 与 Path 不同,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配字符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
类型: | String[] |
别名: | PSPath, LP |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-NoQualifier
指示此 cmdlet 返回没有限定符的路径。 对于文件系统或注册表提供程序,限定符是提供程序路径的驱动器,例如,C:
或 HKCU:
。 例如,在路径 C:\Test\Logs\Pass1.log
中,它仅返回 \Test\Logs\Pass1.log
。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Parent
Split-Path
仅返回提供的路径字符串的父容器部分。 如果 Path 字符串不包含父容器,Split-Path
则返回一个空字符串。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Path
指定要拆分的路径。 允许使用通配符。 如果路径包括空格,请将其括在引号中。 还可以将路径通过管道传递给此 cmdlet。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | True |
-Qualifier
指示此 cmdlet 只返回指定路径的限定符。 对于文件系统或注册表提供程序,限定符是提供程序路径的驱动器,例如,C:
或 HKCU:
。
类型: | SwitchParameter |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Resolve
指示此 cmdlet 显示生成的拆分路径所引用的项,而不是显示路径元素。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
此 cmdlet 返回文本字符串。 指定 Resolve 参数时,它将返回用于描述项位置的字符串。 它不返回表示项的对象,例如 FileInfo 或 RegistryKey 对象。
指定 IsAbsolute 参数时,此 cmdlet 会返回一个布尔值。
备注
拆分位置参数(Qualifier、Parent、Extension、Leaf、LeafBase 和 NoQualifier)是互斥的。 在每个命令中只能使用一个参数。
包含 Path 名词的 cmdlet (Path cmdlet) 使用路径名称,以所有 PowerShell 提供程序都能够解释的简明格式返回名称。 这些 cmdlet 用于需要在其中以特定格式显示全部或部分路径名称的程序或脚本中。 你可以按照使用 Dirname、Normpath、Realpath、Join 或其他路径操作程序的方式使用这些 cmdlet。
可以将 Path cmdlet 与多个提供程序一起使用。 其中包括文件系统、注册表和证书提供程序。
Split-Path
旨在处理任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入Get-PSProvider
。 有关详细信息,请参阅 about_Providers。