Split-Path
傳回路徑的指定部分。
Syntax
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
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。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IsAbsolute
指出如果路徑是絕對路徑,則這個 Cmdlet 會傳回$True,如果路徑是相對的,則傳回$False。 絕對路徑的長度大於零,且不使用點 (.) 來表示目前的路徑。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Leaf
表示這個 Cmdlet 只會傳回路徑中的最後一個專案或容器。
例如,在路徑 C:\Test\Logs\Pass1.log
中,它只會傳回Pass1.log。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
指定要分割的路徑。 與 Path 不同,LiteralPath 的值將完全依照其輸入值來使用。 沒有字元會被視為萬用字元。 如果路徑包含逸出字元,請將它括在單引號中。 單引號會告訴PowerShell不要將任何字元解譯為逸出序列。
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoQualifier
表示這個 Cmdlet 會傳回沒有限定符的路徑。
對 FileSystem 或登錄提供者來說,限定詞是提供者路徑的磁碟機,例如 C: 或 HKCU:。
例如,在路徑 C:\Test\Logs\Pass1.log
中,它只會傳回 \Test\Logs\Pass1.log。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Parent
表示這個 Cmdlet 只會傳回專案或路徑所指定容器的父容器。
例如,在路徑 C:\Test\Logs\Pass1.log
中,它會傳回 C:\Test\Logs。
Parent 參數是預設的分割位置參數。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定要分割的路徑。 允許使用萬用字元。 如果路徑包含空格,請將它括在引號中。 您也可以使用管線將路徑傳送至此 Cmdlet。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Qualifier
表示這個 Cmdlet 只會傳回指定路徑的限定符。 對 FileSystem 或登錄提供者來說,限定詞是提供者路徑的磁碟機,例如 C: 或 HKCU:。
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Resolve
表示這個 Cmdlet 會顯示產生的分割路徑所參考的專案,而不是顯示路徑專案。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
將命令加入使用中交易。 只有交易為處理中狀態時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將包含路徑的字串傳送至此 Cmdlet。
輸出
System.String, System.Boolean
Split-Path 會傳回文字字串。 當您指定 Resolve 參數時, Split-Path 會傳回描述專案位置的字串;它不會傳回代表項目的物件,例如 FileInfo 或 RegistryKey 物件。
當您指定 IsAbsolute 參數時, Split-Path 會傳回 布爾 值。
備註
分割位置參數 (限定符、 父系、 分葉和 NoQualifier) 都是獨佔的。 在每個命令中只能使用一個。
包含 Path 名詞的 Cmdlet (Path Cmdlet) 使用路徑名稱,並以精簡格式傳回所有 PowerShell 提供者可以解譯的名稱。 它們是設計用於程式與指令碼,您可以在其中以特定格式顯示所有或部分路徑名稱。 使用它們的方式是使用 Dirname、Normpath、Realpath、Join 或其他路徑操作工具。
您可以將 Path Cmdlet與數個提供者搭配使用。 其中包括 FileSystem、登錄和憑證提供者。
Split-Path 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入
Get-PSProvider
。 如需詳細資訊,請參閱 about_Providers。