Join-Path

パスと子パスを 1 つのパスに結合します。

構文

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

説明

このコマンドレットは Join-Path 、パスと子パスを 1 つのパスに結合します。 パスの区切り記号はプロバイダーによって追加されます。

例 1: パスと子パスを結合する

PS C:\> Join-Path -Path "path" -ChildPath "childpath"

path\childpath

このコマンドは、パスと子パスを組み合わせて使用 Join-Path します。

コマンドはプロバイダーから実行されるため、パスをFileSystem\結合するための区切り記号が提供されます。

例 2: ディレクトリ区切り記号が既に含まれているパスを結合する

PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

既存の \ ディレクトリ区切り記号は処理されるため、次の間 Path に区切り記号が 1 つだけ存在します。 ChildPath

例 3: パスと子パスを結合してファイルとフォルダーを表示する

Join-Path "C:\win*" "System*" -Resolve

このコマンドは、パスと子パスを結合 C:\Win\* することによって参照されるファイルとフォルダーを System\* 表示します。 同じファイルとフォルダー Get-ChildItemが表示されますが、各項目への完全修飾パスが表示されます。 このコマンドでは、 Path パラメーター名と ChildPath 省略可能なパラメーター名は省略されます。

例 4: PowerShell レジストリ プロバイダーで Join-Path を使用する

PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve

HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet

このコマンドは、次を含むControlSetレジストリ サブキーにHKLM\Systemレジストリ キーを表示します。

このパラメーターはResolve、現在のプロバイダー パスの wildカード を含む、結合されたパスの解決を試みます。HKLM:\

例 5: 複数のパス ルートを子パスと結合する

Join-Path -Path C:, D:, E:, F: -ChildPath New

C:\New
D:\New
E:\New
F:\New

このコマンドは、複数のパス ルートと子パスを組み合わせて使用 Join-Path します。

Note

指定された Path ドライブが存在する必要があります。または、そのエントリの結合が失敗します。

例 6: ファイル システム ドライブのルートと子パスを結合する

Get-PSDrive -PSProvider filesystem | ForEach-Object {$_.root} | Join-Path -ChildPath "Subdir"

C:\Subdir
D:\Subdir

このコマンドは、コンソール内の各 PowerShell ファイル システム ドライブのルートと子パスを Subdir 結合します。

このコマンドでは、コマンドレットを Get-PSDrive 使用して、FileSystem プロバイダーでサポートされている PowerShell ドライブを取得します。 このステートメントはForEach-Object、PSDriveInfo オブジェクトの Root プロパティのみを選択し、指定された子パスと結合します。

出力は、コンピューター上の PowerShell ドライブに、ディレクトリにマップされたドライブが含まれていることを C:\Program Files 示しています。

例 7: 不定数のパスを結合する

Join-Path a b c d e f g

a\b\c\d\e\f\g

この AdditionalChildPath パラメーターを使用すると、無制限の数のパスを結合できます。

この例では、パラメーター名は使用されません。したがって、"a" は 、"b" と Path"c-g" ChildPath にバインドされます。 AdditionalChildPath

パラメーター

-AdditionalChildPath

Path パラメーターの値に追加する追加の要素を指定します。 パラメーターは ChildPath 引き続き必須であり、同様に指定する必要があります。

このパラメーターは、不定数の ValueFromRemainingArguments パスを結合できるプロパティと共に指定されます。

このパラメーターは PowerShell 6.0 で追加されました。

Type:String[]
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ChildPath

パラメーターの値に追加する要素を Path 指定します。 ワイルドカードを使用できます。 パラメーター名 ChildPath ("ChildPath") は省略可能ですが、パラメーターは必須です。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Credential

Note

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

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Path

子パスを追加するメイン パスを 1 つ以上指定します。 ワイルドカードを使用できます。

Path によって、どのプロバイダーがパスに参加し、パス区切り記号を追加するかが決まります。 パラメーター名 Path ("Path") は省略可能ですが、パラメーターは必須です。

Type:String[]
Aliases:PSPath
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Resolve

このコマンドレットが、現在のプロバイダーからの参加済みパスの解決を試みる必要があることを示します。

  • wildカード が使用されている場合、コマンドレットは結合されたパスに一致するすべてのパスを返します。
  • ワイルドカードが使用されていない場合、パスが存在しない場合、コマンドレットはエラーになります。
Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

String

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

出力

String

このコマンドレットは、結果のパスを含む文字列を返します。

メモ

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

パス コマンドレットは、プロバイダー 、プロバイダーなど、複数のプロバイダーとCertificate共にRegistryFileSystem使用できます。

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