次の方法で共有


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 、親フォルダー、サブフォルダー、ファイル名など、パスの指定された部分のみを返します。 また、分割されたパスで参照されている項目を取得したり、パスが相対パスか絶対パスかを判断したりすることもできます。 他のパラメーターを指定せずにパスを分割した場合は、 Split-Path 指定されたパスの親部分を返します。

このコマンドは Split-Path 文字列を返します。 FileInfo やコマンドのような他の項目オブジェクトは*-Itemされません。

例 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>

かっこ内のコマンドは、組み込み$Profile変数に格納されているパスの親のみを返すために使用Split-Pathします。 Parent パラメーターは、既定の分割場所パラメーターです。 そのため、コマンドから省略できます。 かっこは、最初にコマンドを実行するように PowerShell に指示します。 これは、パス名が長いフォルダーに移動するのに便利な方法です。

例 6: パイプラインを使用してパスを分割する

'C:\Users\User01\My Documents\My Pictures' | Split-Path

C:\Users\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

パスが絶対$Falseパスで、相対パスの場合は、このコマンドレットが返$Trueされることを示します。 Windows では、絶対パス文字列はプロバイダー ドライブ指定子で始まる必要があります 。次HKCU:のようになりますC:。 相対パスは、ドット (.) またはドットドット (..) で始まります。

型:SwitchParameter
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Leaf

Leaf パラメーターを使用する場合は、Split-Path指定されたパス文字列内の最後の項目のみを返します。その項目がファイルかディレクトリかに関係なく返されます。

型: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

Split-Path は、指定されたパス文字列の親コンテナー部分のみを返します。 Path 文字列に親コンテナーが含まれていない場合は、Split-Path空の文字列を返します。

型: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

入力

String

このコマンドレットへのパスを含む文字列をパイプ処理できます。

出力

String

このコマンドレットはテキスト文字列を返します。 Resolve パラメーターを指定すると、項目の場所を説明する文字列が返されます。 FileInfo オブジェクトや RegistryKey オブジェクトなど、項目を表すオブジェクトは返されません。

Boolean

IsAbsolute パラメーターを指定すると、このコマンドレットはブール値をします。

メモ

  • 分割場所のパラメーター (修飾子、親拡張リーフリーフベース、および NoQualifier) は排他的です。 各コマンドでいずれか 1 つだけを使用できます。

  • Path 名詞 (Path コマンドレット) を含むコマンドレットは、パス名を操作し、すべての PowerShell プロバイダーが解釈できる簡潔な形式で名前を返します。 これらは、パス名のすべてまたは一部を特定の形式で表示するプログラムやスクリプトで使用するように設計されています。 Dirname、Normpath、RealpathJoin、またはその他のパス マニピュレーターを使用する方法で使用します。

  • Path コマンドレットは、複数のプロバイダーと共に使用できます。 これには、FileSystem、レジストリ、および証明書プロバイダーが含まれます。

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