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。