Resolve-Path
解析路徑中的通配符,並顯示路徑內容。
語法
Resolve-Path
[-Path] <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[<CommonParameters>]
Resolve-Path
-LiteralPath <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[<CommonParameters>]
Description
Cmdlet Resolve-Path
會顯示符合指定位置之通配符模式的專案和容器。 比對可以包含檔案、資料夾、登錄機碼,或任何其他可從 PSDrive 提供者存取的物件。
範例
範例 1:解決主資料夾路徑
tilde 字元 (~
) 是目前使用者主資料夾的速記表示法。 此範例示範 Resolve-Path
傳回完整路徑值。
Resolve-Path ~
Path
----
C:\Users\User01
範例 2:解決 Windows 資料夾的路徑
Resolve-Path -Path "windows"
Path
----
C:\Windows
從磁碟驅動器的C:
根目錄執行時,此命令會傳回磁碟驅動器中C:
資料夾的路徑Windows
。
範例 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 參數時,它會傳回 String,此字串 代表可執行檔 $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
參數
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。
輸入使用者名稱,例如 User01
或 Domain01\User01
,或傳遞 PSCredential 物件。 您可以使用 Cmdlet 建立 PSCredential 物件 Get-Credential
。 如果您輸入使用者名稱,此 Cmdlet 會提示您輸入密碼。
任何與 PowerShell 一起安裝的提供者都不支援此參數。
類型: | PSCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-LiteralPath
指定要解析的路徑。 LiteralPath 參數的值會完全與類型一樣使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引號 ('
) 括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。
類型: | String[] |
別名: | PSPath, LP |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Path
指定要解析的 PowerShell 路徑。 此為必要參數。 您也可以使用管線將路徑字串傳送至 Resolve-Path
。 允許通配符。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | True |
-Relative
指出這個 Cmdlet 會傳回相對路徑。
類型: | SwitchParameter |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-RelativeBasePath
指定要解析相對路徑的路徑。 當您使用此參數時,Cmdlet 會傳回 已解析路徑的 System.Management.Automation.PathInfo 物件。
當您搭配 Relative switch 參數使用此參數時,Cmdlet 會傳回字串,代表 RelativeBasePath 到 Path 的相對路徑。
此參數已在PowerShell 7.4中新增。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線傳送包含此 Cmdlet 路徑的字串。
輸出
根據預設,此 Cmdlet 會 傳回 PathInfo 物件。
如果您指定 Relative 參數,這個 Cmdlet 會傳回已解析路徑的字串值。
備註
PowerShell 包含下列的 Resolve-Path
別名:
- 所有平臺:
rvpa
Cmdlet *-Path
會與 FileSystem、Registry 和 Certificate 提供者搭配使用。
Resolve-Path
是設計來與任何提供者搭配使用。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider
。 如需詳細資訊,請參閱 about_providers。
Resolve-Path
只會解析現有的路徑。 它無法用來解析尚未存在的位置。