Join-Path

將路徑和子路徑結合成單一路徑。

Syntax

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [-Resolve]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<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語句只會選取 PSDriveInfo 物件的 Root 屬性,並將它與指定的子路徑結合。

輸出顯示電腦上的PowerShell磁碟驅動器包含對應至目錄的 C:\Program Files 磁碟驅動器。

參數

-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

-UseTransaction

在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

String

您可以使用管線傳送包含此 Cmdlet 路徑的字串。

輸出

String

此 Cmdlet 會傳回包含結果路徑的字串。

備註

包含 Path 名詞 (Path Cmdlet) 的 Cmdlet 會操作路徑名稱,並以簡潔的格式傳回名稱,讓所有 PowerShell 提供者都能解譯。 其設計用於您想要以特定格式顯示路徑名稱的所有或部分的程式和腳本中。 使用它們就像使用Dirname、、NormpathRealpathJoin或其他路徑操作工具一樣。

您可以使用路徑 Cmdlet 搭配數個提供者,包括 FileSystemRegistryCertificate 提供者。

此 Cmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider。 如需詳細資訊,請參閱 about_Providers