Split-Path

傳回路徑的指定部分。

語法

ParentSet (預設值)

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

LeafSet

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

LeafBaseSet

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

ExtensionSet

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

QualifierSet

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

NoQualifierSet

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

IsAbsoluteSet

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

LiteralPathSet

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

Description

Split-Path指令小程式僅回傳路徑中指定的部分,例如父資料夾、子資料夾或檔名。 它也能取得分割路徑所參考的項目,判斷路徑是相對還是絕對。 如果你在未指定其他參數的情況下分割路徑,會 Split-Path 回傳路徑的父部分。

指令會 Split-Path 回傳字串。 它不會像指令那樣*-Item回傳 FileInfo 或其他項目物件。

範例

範例 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

Note

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

參數屬性

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

參數集

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

-Extension

表示此指令檔僅回傳葉子的延伸部分。 例如,在路徑 C:\Test\Logs\Pass1.log中,它只 .log返回 。

此參數是在 PowerShell 6.0 中引進的。

參數屬性

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

參數集

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

-IsAbsolute

表示如果路徑是絕對且$false是相對的,則該指令子會回傳$true。 在 Windows 上,絕對路徑字串必須以提供者磁碟機指定符開頭,例如 C: 或 HKCU:。 相對路徑以點(.)或點-點(..)開始。

參數屬性

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

參數集

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

-Leaf

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

參數屬性

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

參數集

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

-LeafBase

表示此指令檔僅回傳葉子的基底名稱。 例如,在路徑 C:\Test\Logs\Pass1.log中,它只 Pass1返回 。

此參數是在 PowerShell 6.0 中引進的。

參數屬性

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

參數集

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

-LiteralPath

指定要分開的路徑。 與 Path 不同, LiteralPath 的值是完全按照其型別使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。

參數屬性

類型:

String[]

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

參數集

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

-NoQualifier

表示此指令子回傳未加限定符的路徑。 對於檔案系統或登錄檔提供者,限定符是提供者路徑的磁碟,例如 C: 或 HKCU:。 例如,在路徑 C:\Test\Logs\Pass1.log中,它只 \Test\Logs\Pass1.log返回 。

參數屬性

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

參數集

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

-Parent

Split-Path 只回傳路徑字串中父容器部分。 如果 Path 字串沒有包含父容器,則 Split-Path 會回傳一個空字串。

參數屬性

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

參數集

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

-Path

指定要分開的路徑。 允許使用通配符字元。 如果路徑包含空格,請用引號包圍。 你也可以用管道路徑連接到這個指令檔。

參數屬性

類型:

String[]

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

參數集

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

-Qualifier

表示此指令元僅回傳指定路徑的限定符。 對於檔案系統或登錄檔提供者,限定符為提供者路徑的磁碟,例如 C: 或 HKCU:。

參數屬性

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

參數集

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

-Resolve

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

參數屬性

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

參數集

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

輸出

String

此 cmdlet 回傳文字字串。 當你指定 Resolve 參數時,它會回傳一個字串,描述這些項目的位置。 它不會回傳代表這些項目的物件,例如 FileInfo 或 RegistryKey 物件。

Boolean

當你指定 IsAbsolute 參數時,這個 cmdlet 會回傳一個 布林值 。

備註

  • 分割位置參數(Qualifier、Parent、Extension、Leaf、LeafBase 和 NoQualifier)是排他的。 每個指令只能用一個。

  • 包含 Path 名詞的 cmdlet( Path cmdlets)會處理路徑名稱,並以簡潔格式回傳名稱,讓所有 PowerShell 提供者都能解讀。 它們是設計用於程式和腳本,當你想以特定格式顯示全部或部分路徑名稱時。 用它們的方式就像你用 Dirname、 Normpath、 Realpath、 Join 或其他路徑操控器一樣。

  • 你可以將 Path 指令長與多個供應商一起使用。 這些包括檔案系統、登錄檔和憑證提供者。

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