次の方法で共有


Join-Path

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

構文

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

説明

Join-Path コマンドレットは、パスと子パスを 1 つのパスに結合します。 プロバイダーはパス区切り記号を提供します。

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

Join-Path -Path "path" -ChildPath "childpath"

path\childpath

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

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

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

Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

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

例 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

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

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

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

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

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

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

手記

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 オブジェクトの ルート プロパティのみを選択し、指定された子パスと結合します。

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

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

Join-Path a b c d e f g

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

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

この例ではパラメーター名が使用されていないため、"a" は Pathにバインドされ、"b" は ChildPath にバインドされ、"c-g" は AdditionalChildPath

パラメーター

-AdditionalChildPath

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

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

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

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

-ChildPath

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

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

-Credential

手記

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

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

-Path

子パスを追加するメイン パス (またはパス) を指定します。 ワイルドカードを使用できます。

Path の値によって、パスを結合するプロバイダーが決定され、パス区切り記号が追加されます。 パラメーター名 ("Path") は省略可能ですが、Path パラメーターが必要です。

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

-Resolve

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

  • ワイルドカードを使用すると、コマンドレットは結合されたパスに一致するすべてのパスを返します。
  • ワイルドカードが使用されていない場合に、パスが存在しなければ、コマンドレットでエラーが発生します。
型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

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

出力

String

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

メモ

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

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

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