共用方式為


Split-Path

傳回路徑的指定部分。

語法

ParentSet (預設值)

Split-Path
    [-Path] <String[]>
    [-Parent]
    [-Resolve]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<CommonParameters>]

NoQualifierSet

Split-Path
    [-Path] <String[]>
    [-NoQualifier]
    [-Resolve]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<CommonParameters>]

LeafSet

Split-Path
    [-Path] <String[]>
    [-Leaf]
    [-Resolve]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<CommonParameters>]

QualifierSet

Split-Path
    [-Path] <String[]>
    [-Qualifier]
    [-Resolve]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<CommonParameters>]

IsAbsoluteSet

Split-Path
    [-Path] <String[]>
    [-Resolve]
    [-IsAbsolute]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<CommonParameters>]

LiteralPathSet

Split-Path
    -LiteralPath <String[]>
    [-Resolve]
    [-Credential <PSCredential>]
    [-UseTransaction]
    [<CommonParameters>]

Description

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

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

範例

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

PS C:\> Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:

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

範例 2:顯示檔名

PS C:\> Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...

此命令會顯示分割路徑所參考的檔案。 由於此路徑會分割至最後一個專案,也稱為分葉,因此命令只會顯示檔名。

Resolve 參數會告訴 Split-Path 顯示分割路徑參考的專案,而不是顯示分割路徑。

如同所有 Split-Path 命令,此命令會傳回字串。 它不會傳回代表檔案 FileInfo 物件。

範例 3:取得父容器

PS C:\> Split-Path -Path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0

此命令只會傳回路徑的父容器。 因為它不包含指定分割的任何參數,Split-Path 會使用分割位置預設值,也就是 Parent

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

PS C:\> Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False

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

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

PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Documents and Settings\User01\My Documents\WindowsPowerShell>

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

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

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

PS C:\> 'C:\Documents and Settings\User01\My Documents\My Pictures' | Split-Path
C:\Documents and Settings\User01\My Documents

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

參數

-Credential

備註

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

參數屬性

類型:PSCredential
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-IsAbsolute

指出此 Cmdlet 會傳回$True路徑為絕對路徑,如果路徑是相對的,則傳回$False。 絕對路徑的長度大於零,而且不會使用點 (.) 表示目前的路徑。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

IsAbsoluteSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Leaf

表示此 Cmdlet 只會傳回路徑中的最後一個專案或容器。 例如,在路徑 C:\Test\Logs\Pass1.log中,它只會傳回Pass1.log。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

LeafSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-LiteralPath

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

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:PSPath

參數集

LiteralPathSet
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-NoQualifier

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

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

NoQualifierSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Parent

指出此 Cmdlet 只會傳回專案或路徑所指定容器的父容器。 例如,在路徑 C:\Test\Logs\Pass1.log中,它會傳回 C:\Test\Logs。 Parent 參數是預設的分割位置參數。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ParentSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Path

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

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

ParentSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
NoQualifierSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
LeafSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
QualifierSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
IsAbsoluteSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Qualifier

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

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

QualifierSet
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Resolve

表示此 Cmdlet 顯示的是由結果分割路徑所參考的項目,而非路徑元素。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-UseTransaction

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

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:usetx

參數集

(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。

輸出

System.String, System.Boolean

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

當您指定 IsAbsolute 參數時,Split-Path 會傳回 布爾值 值。

備註

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

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

    您可以將 Path 命令搭配數個提供者一起使用。 其中包括檔案系統、登錄和憑證提供者。

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