Split-Path用于检索指定路径的一部分,例如父文件夹,子文件夹或文件名。它还可以判断路径是相对的还是绝对的。
该命令支持一些参数,这些参数有助于检索指定路径的一部分。考虑下面的可执行文件路径,我们将看到Split-Path命令如何检索父文件夹和子文件夹以及根目录。
'C:\Temp\PsExec.exe'
默认的Split-Path命令将检索文件的父文件夹名称。
PS C:\> Split-Path 'C:\Temp\PsExec.exe' C:\Temp
此处的默认参数是-Parent,它检索父文件夹路径。上面的命令类似于,
PS C:\> Split-Path 'C:\Temp\PsExec.exe' -Parent C:\Temp
如果仅需要文件名,则使用-Leaf参数。
PS C:\> Split-Path 'C:\Temp\PsExec.exe' -Leaf PsExec.exe
要检索根目录,您需要使用-Qualifier参数。
PS C:\> Split-Path 'C:\Temp\PsExec.exe' -Qualifier C:
如果要检查路径是绝对路径还是相对路径,请使用-IsAbsolute参数。
PS C:\> Split-Path 'C:\Temp\PsExec.exe' -IsAbsolute True PS C:\Temp> Split-Path .\PsExec.exe -IsAbsolute False
现在,假设您想要文件夹中的文件名,所以如果我们在下面编写命令,该文件将无法提供所需的输出。
输出结果
PS C:\> Split-Path C:\Scripts\* -Leaf *
输出仅为*,并且该命令未检索文件/文件夹名称。要解决此问题,-使用Resolve参数。
Split-Path C:\scripts\* -Leaf -Resolve
输出结果
DSCTest Lab01 MyModules VS_Installation DscTest.ps1 Servers.txt
您可以看到文件和文件夹名称。同样,如果要检索特定的扩展文件,可以同时使用参数-Leaf和-Resolve。
PS C:\> Split-Path C:\scripts\*.ps1 -Leaf -Resolve DscTest.ps1
同样,您可以为注册表应用Split-Path命令。
Split-Path 'HKCU:\Software\Microsoft\Internet Explorer\Control Panel\' HKCU:\Software\Microsoft\Internet Explorer Split-Path 'HKCU:\Software\Microsoft\Internet Explorer\Control Panel\' -Qualifier HKCU: Split-Path 'HKCU:\Software\Microsoft\Internet Explorer\Control Panel\' -Leaf Control Panel