共用方式為


Split-Path

傳回路徑的指定部分。

語法

Split-Path
     [-Path] <String[]>
     [-Parent]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-NoQualifier]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Leaf]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Qualifier]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Resolve]
     [-IsAbsolute]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     -LiteralPath <String[]>
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]

Description

Cmdlet Split-Path 只會傳回路徑的指定部分,例如父資料夾、子資料夾或檔名。 它也可以取得分割路徑所參考的專案,並判斷路徑是否為相對或絕對。

您可以使用此 Cmdlet 來取得或只提交路徑的選取部分。

範例

範例 1:取得路徑的限定符

Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier

HKCU:

此命令只會傳回路徑的限定符。 限定符是磁碟驅動器。

範例 2:顯示路徑的檔名部分

使用 Leaf 參數時, Split-Path 只會傳回提供之路徑字串中的最後一個專案,不論該專案是檔案還是目錄。

Split-Path -Path .\folder1\*.txt -Leaf

*.txt

Split-Path -Path .\folder1\*.txt -Leaf -Resolve

file1.txt
file2.txt

當您使用 Resolve 參數時,會解析提供的路徑字串, Split-Path 並傳回路徑所參考的專案。

範例 3:取得父容器

使用 Parent 參數時, Split-Path 只會傳回所提供路徑字串的父容器部分。 如果 Path 字串不包含父容器,Split-Path則傳回空字串。

Split-Path -Path .\folder1\file1.txt -Parent

.\folder1

Split-Path -Path .\folder1\file1.txt -Parent -Resolve

D:\temp\test\folder1

當您使用 Resolve 參數時,會解析提供的路徑字串, Split-Path 並傳回父容器的完整路徑。

範例 4:判斷路徑是否為絕對路徑

此命令會判斷路徑是相對路徑還是絕對路徑。 在這裡情況下,因為路徑是相對於目前資料夾,以點 (.) 表示,所以會傳 $False回 。

Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute

False

範例 5:將位置變更為指定的路徑

此命令會將您的位置變更為包含 PowerShell 設定檔的資料夾。

PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Users\User01\Documents\PowerShell>

括弧中的命令只會傳 Split-Path 回儲存在內 $Profile 建變數中之路徑的父代。 Parent 參數是預設的分割位置參數。 因此,您可以從 命令中省略它。 括弧會指示PowerShell先執行命令。 這是移至具有完整路徑名稱之資料夾的實用方式。

範例 6:使用管線分割路徑

'C:\Users\User01\My Documents\My Pictures' | Split-Path

C:\Users\User01\My Documents

這個指令會使用管線運算子 (|) 將路徑傳送至 Split-Path。 路徑會以引弧括住,以指出它是單一標記。

參數

-Credential

注意

任何與 PowerShell 一起安裝的提供者都不支援此參數。 若要模擬其他使用者,或在執行此 Cmdlet 時提升您的認證,請使用 Invoke-Command

類型:PSCredential
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-IsAbsolute

指出這個 Cmdlet 會傳回路徑是否為絕對路徑,如果$False為相對路徑,則傳回 $True 。 在 Windows 上,絕對路徑字串必須以提供者磁碟驅動器規範開頭,例如 C:HKCU:。 相對路徑開頭為點 (.) 或點點 (..)。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Leaf

使用 Leaf 參數時, Split-Path 只會傳回提供之路徑字串中的最後一個專案,不論該專案是檔案還是目錄。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-LiteralPath

指定要分割的路徑。 不同於Path,LiteralPath的值會與輸入時完全相同。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。

類型:String[]
別名:PSPath
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-NoQualifier

指出這個 Cmdlet 會傳回沒有限定符的路徑。 針對 FileSystem 或登錄提供者,限定符是提供者路徑的磁碟驅動器,例如 C:HKCU:。 例如,在路徑 C:\Test\Logs\Pass1.log中,只會 \Test\Logs\Pass1.log傳回 。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Parent

Split-Path 只會傳回提供之路徑字串的父容器部分。 如果 Path 字串不包含父容器,Split-Path則傳回空字串。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Path

指定要分割的路徑。 允許通配符。 如果路徑包含空格,請以引號括住它。 您也可以使用管線將路徑傳送至此 Cmdlet。

類型:String[]
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:True

-Qualifier

表示這個 Cmdlet 只會傳回指定路徑的限定符。 針對 FileSystem 或登錄提供者,限定符是提供者路徑的磁碟驅動器,例如 C:HKCU:

類型:SwitchParameter
Position:1
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Resolve

指出這個 Cmdlet 會顯示由產生的分割路徑所參考的專案,而不是顯示路徑專案。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UseTransaction

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

類型:SwitchParameter
別名:usetx
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

String

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

輸出

String

此 Cmdlet 會傳回文字字串。 當您指定 Resolve 參數時,它會傳回描述專案位置的字串。 它不會傳回代表項目的物件,例如 FileInfoRegistryKey 物件。

Boolean

當您指定 IsAbsolute 參數時,這個 Cmdlet 會 傳回布爾 值。

備註

  • 分割位置參數 (限定符代、 分葉NoQualifier) 是獨佔的。 每個指令中只能使用一個 。

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

  • 您可以搭配數個提供者使用 Path Cmdlet。 其中包括 FileSystem、登錄和憑證提供者。

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