次の方法で共有


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

入力

String

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

出力

String

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

Boolean

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

メモ

  • 分割場所パラメーター (QualifierParentExtensionLeafLeafBase、および NoQualifier) は排他的です。 各コマンドでいずれか 1 つだけを使用できます。

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

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

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