Split-Path
返回指定的路径部分。
语法
Split-Path
[-Path] <String[]>
[-Parent]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
[[-Qualifier]]
[-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[]>
[-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 仅返回路径的指定部分,例如父文件夹、子文件夹或文件名。 它也可以获取拆分路径所引用的项,并指示该路径是相对路径还是绝对路径。
使用此 cmdlet 可以只获取或只提交路径的选定部分。
示例
示例 1:获取路径的限定符
PS C:\> Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
此命令仅返回路径的限定符。 限定符是驱动器。
示例 2:显示文件名
PS C:\> Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...
此命令显示拆分路径所引用的文件。 由于此路径拆分为最后一项(也称为叶),因此命令仅显示文件名。
Resolve 参数指示 Split-Path 显示拆分路径引用的项,而不是显示拆分路径。
与所有 Split-Path 命令一样,此命令返回字符串。 它不返回表示文件的 FileInfo 对象。
示例 3:获取父容器
PS C:\> Split-Path -Path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0
此命令只返回路径的父容器。 由于它不包含任何用于指定拆分的参数, 因此 Split-Path 使用拆分位置默认值,即 Parent。
示例 4:确定路径是否为绝对路径
PS C:\> 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:使用管道拆分路径
PS C:\> '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。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Extension
指示此 cmdlet 仅返回叶的扩展。
例如,在路径 C:\Test\Logs\Pass1.log
中,它仅 .log
返回 。
此参数是在 PowerShell 6.0 中引入的。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IsAbsolute
指示如果路径是绝对路径,则此 cmdlet 返回$True;如果路径是相对路径,则返回$False。 绝对路径的长度大于零,并且不使用点 (.) 来指示当前路径。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Leaf
指示此 cmdlet 仅返回路径中的最后一个项或容器。
例如,在路径 C:\Test\Logs\Pass1.log
中,它只返回Pass1.log。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LeafBase
指示此 cmdlet 仅返回叶的基名称。
例如,在路径 C:\Test\Logs\Pass1.log
中,它仅 Pass1
返回 。
此参数是在 PowerShell 6.0 中引入的。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
指定要拆分的路径。 不同于 Path,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配字符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoQualifier
指示此 cmdlet 返回没有限定符的路径。
对于 FileSystem 或 Registry 提供程序,限定符是提供程序路径的驱动器,例如,C: 或 HKCU:。
例如,在路径 C:\Test\Logs\Pass1.log
中,它仅返回 \Test\Logs\Pass1.log。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Parent
指示此 cmdlet 仅返回路径指定的项或容器的父容器。
例如,在 路径 C:\Test\Logs\Pass1.log
中,它返回 C:\Test\Logs。
Parent 参数是默认的拆分位置参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定要拆分的路径。 允许使用通配符。 如果路径包括空格,请将其括在引号中。 还可以通过管道将路径传递给此 cmdlet。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Qualifier
指示此 cmdlet 仅返回指定路径的限定符。 对于 FileSystem 或 Registry 提供程序,限定符是提供程序路径的驱动器,例如,C: 或 HKCU:。
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Resolve
指示此 cmdlet 显示由生成的拆分路径引用的项,而不是显示路径元素。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
System.String, System.Boolean
Split-Path 返回文本字符串。 指定 Resolve 参数时, Split-Path 将返回描述项位置的字符串;它不返回表示项的对象,例如 FileInfo 或 RegistryKey 对象。
指定 IsAbsolute 参数时, Split-Path 将返回 布尔 值。
备注
(限定符、 Parent、 Extension、 Leaf、 LeafBase 和 NoQualifier) 的拆分位置参数是独占的。 在每个命令中只能使用一个参数。
包含 路径 名词 (Path cmdlet 的 cmdlet) 使用路径名称,并返回所有 PowerShell 提供程序都可以解释的简洁格式的名称。 这些 cmdlet 用于需要在其中以特定格式显示全部或部分路径名称的程序或脚本中。 以 使用 Dirname、 Normpath、 Realpath、 Join 或其他路径操作器的方式使用它们。
可以将 路径 cmdlet 与多个提供程序一起使用。 其中包括 FileSystem、Registry 和 Certificate 提供程序。
Split-Path 旨在处理任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入
Get-PSProvider
。 有关详细信息,请参阅 about_Providers。