次の方法で共有


Split-Path

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

構文

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

説明

Split-Path コマンドレットは、親フォルダー、サブフォルダー、ファイル名など、パスの指定された部分のみを返します。 また、分割パスによって参照される項目を取得し、パスが相対パスか絶対パスかを示すこともできます。

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

例 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 でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Commandを使用します。

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

-IsAbsolute

このコマンドレットが、パスが絶対パスの場合は $True を返し、相対パスの場合は $False を返すことを示します。 絶対パスの長さは 0 より大きく、現在のパスを示すためにドット (.) を使用しません。

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

-Leaf

このコマンドレットがパス内の最後の項目またはコンテナーのみを返すことを示します。 たとえば、パス C:\Test\Logs\Pass1.log では、Pass1.log のみを返します。

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

-LiteralPath

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

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

-NoQualifier

このコマンドレットは、修飾子を指定せずにパスを返します。 FileSystem またはレジストリ プロバイダーの場合、修飾子はプロバイダー パスのドライブ (C: や HKCU: など) です。 たとえば、パス C:\Test\Logs\Pass1.log では、\Test\Logs\Pass1.log のみが返されます。

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

-Resolve

このコマンドレットは、パス要素を表示する代わりに、結果の分割パスによって参照される項目を表示することを示します。

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

-UseTransaction

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

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

入力

String

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

出力

System.String, System.Boolean

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

IsAbsoluteパラメータを指定すると、Split-Pathブール値を返します。

メモ

  • 分割場所パラメーター (QualifierParentLeaf、および NoQualifier) は排他的です。 各コマンドで使用できるのは 1 つだけです。

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

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

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