指定されたパス部分を返します。

構文

Split-Path [-IsAbsolute] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]

Split-Path [-Leaf] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]

Split-Path [-NoQualifier] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]

Split-Path [-Parent] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]

Split-Path [-Qualifier] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]

説明

Split-Path コマンドレットは、親ディレクトリ、子ディレクトリ、ファイル名など、パスの中で、ユーザーが指定した部分だけを返します。また、分割されたパスが参照している項目を表示し、パスが相対パスと絶対パスのどちらであるかも示すことができます。

このコマンドレットを使用すると、選択したパスの一部だけを表示または送信できます。

パラメーター

-Credential <PSCredential>

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。

"User01" や "Domain01\User01" などユーザー名を入力します。または、Get-Credential コマンドレットで生成されるような PSCredential オブジェクトを入力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

このパラメーターは、Windows PowerShell でインストールされるプロバイダーではサポートされていません。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-IsAbsolute

パスが絶対パスの場合は TRUE を返し、相対パスの場合は FALSE を返します。絶対パスの長さはゼロよりも長く、現在のパスを示すドット (.) が含まれていません。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Leaf

パス中の最後の項目またはコンテナーだけを返します。たとえば、パスが C:\Test\Logs\Pass1.log の場合、Pass1.log だけを返します。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-LiteralPath <string[]>

分割するパスを指定します。Path と異なり、LiteralPath の値は入力したとおりに使用されます。ワイルドカードとして解釈される文字はありません。パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-NoQualifier

修飾子を除いたパスを返します。FileSystem プロバイダーまたはレジストリ プロバイダーの場合、修飾子は、C: または HKCU: などの、プロバイダー パスのドライブです。たとえば、パスが C:\Test\Logs\Pass1.log の場合、\Test\Logs\Pass1.log だけを返します。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-Parent

パスによって指定された項目またはコンテナーの親コンテナーだけを返します。たとえば、パスが C:\Test\Logs\Pass1.log の場合、C:\Test\Logs を返します。Parent パラメーターは、既定の分割位置パラメーターです。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-Path <string[]>

分割するパスを指定します。ワイルドカードを使用できます。パスにスペースが含まれる場合は、二重引用符で囲みます。パイプを使用してパスを Split-Path に渡すこともできます。

必須

true

位置

1

既定値

パイプライン入力を許可する

true (ByValue, ByPropertyName)

ワイルドカード文字を許可する

false

-Qualifier

指定されたパスの修飾子だけを返します。FileSystem プロバイダーまたはレジストリ プロバイダーの場合、修飾子は、C: または HKCU: などの、プロバイダー パスのドライブです。

必須

false

位置

2

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-Resolve

パス要素を表示する代わりに、結果として分割されたパスによって参照されている項目を表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-UseTransaction

コマンドを有効なトランザクションに含めます。このパラメーターは、トランザクションの進行中のみ有効です。詳細については、「about_Transactions」を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.String

パイプを使用してパスを含む文字列を Split-Path に渡すことができます。

出力

System.String

Split-Path コマンドレットはテキスト文字列を返します。Resolve パラメーターを使用すると、Split-Path は項目の場所を示す文字列を返し、FileInfo や RegistryKey オブジェクトなどの、項目を表すオブジェクトは返しません。

分割位置パラメーター (Qualifier、Parent、Leaf、および NoQualifier) は、同時に使用することができません。それぞれのコマンドでいずれか 1 つだけ使用できます。

Path という名詞を含むコマンドレット (Path コマンドレット) は、パス名を操作し、すべての Windows PowerShell プロバイダーが解釈できる簡潔な形式の名前を返します。プログラムやスクリプトで、パス名の全部または一部を特定の形式で表示するために使用することを目的としています。Dirname、Normpath、Realpath、Join など、他のパス操作コマンドレットと同じように使用します。

Path コマンドレットは、FileSystem、Registry、Certificate など、いくつかのプロバイダーで使用できます。

Split-Path コマンドレットは、プロバイダーによって公開されているデータを使用するように設計されています。セッションで使用可能なプロバイダーの一覧を表示するには、「Get-PSProvider」と入力します。詳細については、「about_Providers」を参照してください。

例 1

C:\PS>split-path "HKCU:\Software\Microsoft" -qualifier

HKCU:

説明
-----------
このコマンドは、パスの修飾子 (ドライブ) だけを返します。






例 2

C:\PS>split-path "C:\Test\Logs\*.log" -leaf -resolve

Pass1.log
Pass2.log
...

説明
-----------
このコマンドを実行すると、分割されたパスが参照しているファイルが表示されます。このパスは最後の項目 (リーフ) に分割されるため、パスのファイル名だけが表示されます。

Resolve パラメーターを使用すると、Split-Path は、分割されたパスを表示するのではなく、分割されたパスの参照先の項目を表示します。

すべての Split-Path コマンドと同様に、このコマンドは文字列を返します。ファイルを表す FileInfo オブジェクトは返しません。






例 3

C:\PS>split-path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"

C:\WINDOWS\system32\WindowsPowerShell\V1.0

説明
-----------
このコマンドは、パスの親コンテナーだけを返します。分割位置を指定するパラメーターが含まれていないため、Split-Path は既定の分割位置である Parent を使用します。






例 4

C:\PS>split-path ".\My Pictures\*.jpg" -IsAbsolute

False

説明
-----------
このコマンドは、パスが相対パスと絶対パスのどちらであるかを特定します。この例では、パスがドット (.) で表した現在のディレクトリからの相対パスになっているため FALSE ($false) が返されます。






例 5

C:\PS>set-location (split-path $profile)

PS C:\Documents and Settings\juneb\My Documents\WindowsPowerShell>

説明
-----------
このコマンドを実行すると、Windows PowerShell プロファイルが格納されているディレクトリに場所を移動します。
かっこ内のコマンドは、Split-Path コマンドレットを使用して、組み込み変数 $Profile に格納されているパスの親だけを返します。(Parent パラメーターは、既定の分割位置パラメーターなので、省略してかまいません)。かっこは、Windows PowerShell に対して、そのコマンドを先に実行するよう指示します。この方法は、パス名が長いディレクトリに移動する際に便利な方法です。






例 6

C:\PS>'C:\Documents and Settings\User01\My Documents\My Pictures' | split-path

C:\Documents and Settings\User01\My Documents

説明
-----------
このコマンドは、パイプライン演算子 (|) を使用してパスを Split-Path コマンドレットに渡します。パスを引用符で囲み、1 つのトークンであることを示します。






関連項目




目次