Split-Path
指定されたパス部分を返します。
構文
Split-Path
[-Path] <String[]>
[-Parent]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-Leaf
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-LeafBase
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-Extension
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-Qualifier
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-NoQualifier
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
[-Resolve]
-IsAbsolute
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
-LiteralPath <String[]>
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
説明
Split-Path
コマンドレットは、親フォルダー、サブフォルダー、ファイル名など、パスの指定された部分のみを返します。 また、分割されたパスで参照されている項目を取得したり、パスが相対パスか絶対パスかを判断したりすることもできます。
このコマンドレットを使用すると、選択したパスの一部だけを取得または送信できます。
例
例 1: パスの修飾子を取得する
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
このコマンドは、パスの修飾子のみを返します。 修飾子はドライブです。
例 2: ファイル名の表示
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...
このコマンドを実行すると、分割されたパスが参照しているファイルが表示されます。 このパスはリーフとも呼ばれる最後の項目に分割されるため、コマンドにはファイル名のみが表示されます。
Resolve パラメーターは、分割パスを表示するのではなく、分割パスが参照する項目を表示するように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
へのパスを送信します。 パスは引用符で囲んで、1 つのトークンであることを示します。
パラメーター
-Credential
Note
このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、 Invoke-Command を使用します。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Extension
このコマンドレットがリーフの拡張機能のみを返すように指定します。 たとえば、パス C:\Test\Logs\Pass1.log
では、 .log
のみを返します。
このパラメーターは、PowerShell 6.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-IsAbsolute
このコマンドレットは、パスが絶対パスの場合は $True
を返し、相対パスの場合は $False
することを示します。 絶対パスの長さが 0 より大きく、現在のパスを示すためにドット (.
) を使用しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Leaf
このコマンドレットは、パス内の最後の項目またはコンテナーのみを返すように指定します。 たとえば、パス C:\Test\Logs\Pass1.log
では、 Pass1.log
のみを返します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LeafBase
このコマンドレットがリーフの基本名のみを返すように指定します。 たとえば、パス C:\Test\Logs\Pass1.log
では、 Pass1
のみを返します。
このパラメーターは、PowerShell 6.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LiteralPath
分割するパスを指定します。 Path とは異なり、LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
型: | String[] |
Aliases: | PSPath, LP |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-NoQualifier
このコマンドレットは、修飾子を指定せずにパスを返します。 FileSystem またはレジストリ プロバイダーの場合、修飾子はプロバイダー パスのドライブ ( C:
や HKCU:
など) です。 たとえば、パス C:\Test\Logs\Pass1.log
では、 \Test\Logs\Pass1.log
のみを返します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Parent
このコマンドレットは、パスで指定された項目またはコンテナーの親コンテナーのみを返すように指定します。 たとえば、パス C:\Test\Logs\Pass1.log
では、 C:\Test\Logs
を返します。
Parent パラメーターは、既定の分割場所パラメーターです。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Path
分割するパスを指定します。 ワイルドカード文字を使用できます。 パスにスペースが含まれる場合は、二重引用符で囲みます。 このコマンドレットへのパスをパイプすることもできます。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Qualifier
このコマンドレットは、指定したパスの修飾子のみを返します。 FileSystem またはレジストリ プロバイダーの場合、修飾子はプロバイダー パスのドライブ ( C:
や HKCU:
など) です。
型: | SwitchParameter |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Resolve
このコマンドレットは、パス要素を表示する代わりに、結果の分割パスによって参照される項目を表示することを示します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
このコマンドレットへのパスを含む文字列をパイプ処理できます。
出力
このコマンドレットはテキスト文字列を返します。 Resolve パラメーターを指定すると、項目の場所を説明する文字列が返されます。 FileInfo RegistryKey オブジェクトなど、項目を表すオブジェクトは返されません。
IsAbsolute パラメーターを指定すると、このコマンドレットは Boolean 値を返します。
メモ
分割場所パラメーター (Qualifier、 Parent、 Extension、 Leaf、 LeafBase、および NoQualifier) は排他的です。 各コマンドでいずれか 1 つだけを使用できます。
Path名詞 (Path コマンドレット) を含むコマンドレットは、パス名を操作し、すべての PowerShell プロバイダーが解釈できる簡潔な形式で名前を返します。 これらは、パス名のすべてまたは一部を特定の形式で表示するプログラムやスクリプトで使用するように設計されています。 Dirname、Normpath、Realpath、Join、またはその他のパス マニピュレーターを使用する方法で使用します。
Path コマンドレットを複数のプロバイダーと共に使用できます。 これには、FileSystem、レジストリ、および証明書プロバイダーが含まれます。
Split-Path
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider
」と入力します。 詳細については、「 about_Providers」を参照してください。
関連リンク
PowerShell