Join-Path
將路徑和子路徑結合成單一路徑。
Syntax
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Description
Cmdlet 會將 Join-Path
路徑和子路徑合併成單一路徑。
提供者會提供路徑分隔符號。
範例
範例 1:結合路徑與子路徑
PS C:\> Join-Path -Path "path" -ChildPath "childpath"
path\childpath
此命令會使用 Join-Path
結合路徑與子路徑。
由於命令是從 FileSystem
提供者執行,因此會提供 \
分隔符來聯結路徑。
範例 2:合併已包含目錄分隔符的路徑
PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"
path\childpath
現有的目錄分隔符 \
和已處理,因此和 之間 Path
只有一個分隔符 ChildPath
範例 3:藉由聯結路徑與子路徑來顯示檔案和資料夾
Join-Path "C:\win*" "System*" -Resolve
此命令會顯示聯結 C:\Win* 路徑和 System* 子路徑所參考的檔案和資料夾。
它會顯示與 相同的檔案和資料夾 Get-ChildItem
,但會顯示每個專案的完整路徑。
在此命令中 Path
,會省略 和 ChildPath
選擇性參數名稱。
範例 4:搭配 PowerShell 登錄提供者使用 Join-Path
PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve
HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet
此命令會在包含ControlSet
的登錄子機碼中HKLM\System
顯示登錄機碼。
參數 Resolve
會嘗試解析聯結的路徑,包括來自目前提供者路徑的通配符 HKLM:\
範例 5:結合多個路徑根目錄與子路徑
Join-Path -Path C:, D:, E:, F: -ChildPath New
C:\New
D:\New
E:\New
F:\New
此命令會使用 Join-Path
結合多個路徑根目錄與子路徑。
注意
指定的 Path
磁碟驅動器必須存在,否則該專案的聯結將會失敗。
範例 6:將文件系統磁碟驅動器的根目錄與子路徑結合
Get-PSDrive -PSProvider filesystem | ForEach-Object {$_.root} | Join-Path -ChildPath "Subdir"
C:\Subdir
D:\Subdir
此命令會將控制台中每個 PowerShell 檔案系統磁碟驅動器的根目錄與 Subdir 子路徑結合。
此命令會 Get-PSDrive
使用 Cmdlet 來取得 FileSystem 提供者支援的 PowerShell 磁碟驅動器。
語句 ForEach-Object
只會選取物件的 Root 屬性 PSDriveInfo
,並將它與指定的子路徑結合。
輸出會顯示電腦上的PowerShell磁碟驅動器包含對應至 C:\Program Files 目錄的磁碟驅動器。
範例 7:結合無限數目的路徑
Join-Path a b c d e f g
a\b\c\d\e\f\g
參數 AdditionalChildPath
允許不限數目的路徑聯結。
在此範例中,不會使用任何參數名稱,因此 “a” 會系結至 Path
、 “b” 至 ChildPath
和 “c-g” 至 AdditionalChildPath
參數
-AdditionalChildPath
指定要附加至 Path 參數值的其他專案。 參數 ChildPath
仍是必要參數,而且也必須指定。
這個參數是使用 屬性來指定, ValueFromRemainingArguments
這個屬性會啟用無限數目的路徑聯結。
Type: | String[] |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ChildPath
指定要附加至 參數值的專案 Path
。
允許使用萬用字元。
ChildPath
參數是必要的,不過參數名稱 (“ChildPath”) 是選擇性的。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Credential
注意
任何與 PowerShell 一起安裝的提供者都不支援此參數。 若要在執行此 Cmdlet 時模擬其他使用者,或提高您的認證,請使用 Invoke-Command。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定附加子路徑的主要路徑。 允許使用萬用字元。
的值 Path
會決定哪一個提供者會聯結路徑,並加入路徑分隔符。
Path
參數是必要的,雖然參數名稱 (“Path”) 是選擇性的。
Type: | String[] |
Aliases: | PSPath |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Resolve
指出此 Cmdlet 應該嘗試從目前的提供者解析聯結的路徑。
- 如果使用通配符,Cmdlet 會傳回符合聯結路徑的所有路徑。
- 如果未使用通配符,如果路徑不存在,Cmdlet 就會發生錯誤。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將包含路徑的字串傳送至此 Cmdlet。
輸出
此 Cmdlet 會傳回包含結果路徑的字串。
備註
包含 Path 名詞的 Cmdlet (Path Cmdlet) 操作路徑名稱,並以簡潔的格式傳回名稱,讓所有 PowerShell 提供者都能解譯。 它們是設計用於程式與指令碼,您可以在其中以特定格式顯示所有或部分路徑名稱。 使用方式與使用 Dirname、Normpath、Realpath、Join 或其他路徑操作工具的方式相同。
您可以使用路徑 Cmdlet 搭配數個提供者,包括 FileSystem
、 Registry
和 Certificate
提供者。
此 Cmdlet 是針對與任何提供者公開的資料搭配使用所設計。
若要列出工作階段中可用的提供者,請輸入 Get-PSProvider
。
如需詳細資訊,請參閱 about_Providers。