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 Cmdlet 只會傳回路徑的指定部分,例如父資料夾、子資料夾或檔名。 它也可以取得分割路徑所參考的項目,且可以判斷該路徑是否為相對或絕對。
您可以使用此 Cmdlet 來取得或只提交路徑的選取部分。
範例
範例 1:取得路徑的限定符
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
此命令只會傳回路徑的限定符。 限定符是磁碟驅動器。
範例 2:顯示檔名
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...
此命令會顯示分割路徑所參考的檔案。 由於此路徑拆分為最後一項(也稱為葉),因此該命令僅顯示檔名。
“解決”參數指示Split-Path顯示拆分路徑引用的項,而不是顯示拆分路徑。
與所有 Split-Path 命令一樣,此命令返回字串。 它不返回表示檔的 FileInfo 物件。
範例 3:取得父容器
Split-Path -Parent "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0
此命令只會傳回路徑的父容器。 因為它不包含任何用於指定拆分的參數, Split-Path 所以使用分割位置預設值,即 父級。
範例 4:判斷路徑是否為絕對路徑
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:使用管線分割路徑
'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 |
-Extension
表示此 Cmdlet 只會傳回分葉的延伸。 例如,在路徑 C:\Test\Logs\Pass1.log中,只會傳回 .log。
此參數是在 PowerShell 6.0 中引進的。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ExtensionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-IsAbsolute
如果路徑是絕對路徑,此 Cmdlet 會傳回 $True;如果是相對路徑,則會傳回 $False。 絕對路徑的長度大於零,並且不使用點 (.) 來指示當前路徑。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
IsAbsoluteSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Leaf
表示此 Cmdlet 只會傳回路徑中的最後一個專案或容器。 例如,在路徑 C:\Test\Logs\Pass1.log中,只會傳回 Pass1.log。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
LeafSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-LeafBase
表示此 Cmdlet 只會傳回分葉的基底名稱。 例如,在路徑 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
指出這個 cmdlet 會傳回不包含限定符的路徑。 針對 FileSystem 或登錄提供者,限定詞是提供者路徑的磁碟機,例如 C: 或 HKCU:。 例如,在路徑 C:\Test\Logs\Pass1.log中,只會傳回 \Test\Logs\Pass1.log。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
NoQualifierSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | 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 |
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
表示這個 Cmdlet 只會傳回指定路徑的限定符。 針對 FileSystem 或登錄提供者,限定詞是提供者路徑的磁碟機,例如 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 會傳回 布爾值 值。
備註
分割位置參數(限定符、Parent、Extension、Leaf、LeafBase和 NoQualifier) 都是獨佔的。 每個指令中只能使用一個 。
包含 Path 名詞的 Cmdlet(Path Cmdlet) 會使用路徑名稱,並以簡潔的格式傳回所有 PowerShell 提供者可以解譯的名稱。 其設計用於您想要以特定格式顯示路徑名稱之所有或部分的程式和腳本中。 使用它們的方法就像使用 Dirname、Normpath、Realpath、Join或其他路徑操作工具一樣。
您可以將 Path 命令搭配數個提供者一起使用。 其中包括檔案系統、登錄和憑證提供者。
Split-Path的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入Get-PSProvider。 如需詳細資訊,請參閱 about_Providers。