Resolve-Path
解析路径中的通配符并显示路径内容。
语法
Path (默认值)
Resolve-Path
[-Path] <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[-Force]
[<CommonParameters>]
LiteralPath
Resolve-Path
-LiteralPath <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[-Force]
[<CommonParameters>]
说明
Resolve-Path
cmdlet 显示与指定位置的通配符模式匹配的项和容器。 匹配项可以包括可从 PSDrive 提供程序访问的文件、文件夹、注册表项或任何其他对象。
示例
示例 1:解析主文件夹路径
平铺字符(~
)是当前用户主文件夹的速记表示法。 此示例显示 Resolve-Path
返回完全限定的路径值。
Resolve-Path ~
Path
----
C:\Users\User01
示例 2:解析 Windows 文件夹的路径
Resolve-Path -Path "windows"
Path
----
C:\Windows
从 C:
驱动器的根目录运行时,此命令将返回 Windows
驱动器中 C:
文件夹的路径。
示例 3:获取 Windows 文件夹中的所有路径
"C:\windows\*" | Resolve-Path
此命令返回 C:\Windows
文件夹中的所有文件和文件夹。 该命令使用管道运算符(|
)将路径字符串发送到 Resolve-Path
。
示例 4:解析 UNC 路径
Resolve-Path -Path "\\Server01\public"
此命令解析通用命名约定 (UNC) 路径,并返回路径中的共享。
示例 5:获取相对路径
Resolve-Path -Path "C:\prog*" -Relative
.\Program Files
.\Program Files (x86)
.\programs.txt
此命令返回 C:
驱动器根目录的相对路径。
示例 6:解析包含方括号的路径
此示例使用 LiteralPath 参数解析 Test[xml]
子文件夹的路径。
使用 LiteralPath 会导致括号被视为普通字符而不是正则表达式。
Resolve-Path -LiteralPath 'test[xml]'
示例 7:解析相对于另一个文件夹的路径
此示例使用 RelativeBasePath 参数解析 pwsh
可执行文件相对于 $Env:TEMP
的路径。 当命令包含 Relative switch 参数时,它将返回表示从 到 $Env:TEMP
可执行文件的相对路径的 pwsh
。
$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $Env:TEMP -Relative
..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe
示例 8:解析隐藏项的路径
默认情况下,Resolve-Path
不返回隐藏项。 此示例使用 Force 参数解析隐藏项。
Get-Item
命令确认 .git
文件夹已隐藏。 在不使用 Resolve-Path
参数的情况下,使用 只返回可见项。 添加 Force 参数将返回所有项,包括隐藏项。
PS> Get-Item .git -Force
Directory: D:\Git\PS-Docs\PowerShell-Docs
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--h- 9/25/2024 4:46 PM .git
PS> Resolve-Path .git*
Path
----
D:\Git\PS-Docs\PowerShell-Docs\.github
D:\Git\PS-Docs\PowerShell-Docs\.gitattributes
D:\Git\PS-Docs\PowerShell-Docs\.gitignore
PS> Resolve-Path .git* -Force
Path
----
D:\Git\PS-Docs\PowerShell-Docs\.git
D:\Git\PS-Docs\PowerShell-Docs\.github
D:\Git\PS-Docs\PowerShell-Docs\.gitattributes
D:\Git\PS-Docs\PowerShell-Docs\.gitignore
参数
-Credential
指定有权执行此作的用户帐户。 默认值为当前用户。
键入用户名(如 User01
或 Domain01\User01
),或传递 PSCredential 对象。 可以使用 cmdlet 创建 Get-Credential
对象。 如果键入用户名,此 cmdlet 会提示输入密码。
任何随 PowerShell 一起安装的提供程序都不支持此参数。
参数属性
类型: | PSCredential |
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-Force
允许该 cmdlet 获取用户无法访问的项,例如隐藏文件或系统文件。 Force 参数不会替代安全限制。 实现因服务提供商而异。 有关详细信息,请参阅 about_Providers。
此参数已在 PowerShell 7.5-preview.5 中添加。
参数属性
类型: | SwitchParameter |
默认值: | False |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-LiteralPath
指定要解析的路径。
LiteralPath 参数的值与类型完全相同。 不会将任何字符解释为通配字符。 如果路径包含转义字符,请将它括在单引号('
)。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
参数属性
类型: | String[] |
默认值: | None |
支持通配符: | False |
不显示: | False |
别名: | PSPath, LP |
参数集
LiteralPath
Position: | Named |
必需: | True |
来自管道的值: | False |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-Path
指定要解析的 PowerShell 路径。 此参数是必需的。 还可以通过管道将路径字符串传递给 Resolve-Path
。 允许使用通配符。
参数属性
类型: | String[] |
默认值: | None |
支持通配符: | True |
不显示: | False |
参数集
Path
Position: | 0 |
必需: | True |
来自管道的值: | True |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-Relative
指示此 cmdlet 返回相对路径。
参数属性
类型: | SwitchParameter |
默认值: | False |
支持通配符: | False |
不显示: | False |
参数集
Path
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
LiteralPath
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-RelativeBasePath
指定要从中解析相对路径的路径。 使用此参数时,cmdlet 返回解析路径的 System.Management.Automation.PathInfo 对象。
将此参数与 Relative switch 参数一起使用时,cmdlet 将返回一个字符串,表示从 RelativeBasePath 到 Path的相对路径。
此参数已在 PowerShell 7.4 中添加。
参数属性
类型: | String |
默认值: | 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。
输出
PathInfo
默认情况下,此 cmdlet 返回 PathInfo 对象。
String
如果指定 Relative 参数,则此 cmdlet 返回解析路径的字符串值。
备注
PowerShell 包含以下与 Resolve-Path
相关的别名:
- 所有平台:
rvpa
*-Path
cmdlet 适用于 FileSystem、注册表和 证书 提供程序。
Resolve-Path
旨在与任何提供程序一起使用。 若要列出会话中可用的提供程序,请键入 Get-PSProvider
。 有关详细信息,请参阅 about_Providers。
Resolve-Path
仅解析现有路径。 它不能用于解析尚不存在的位置。