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
既存のディレクトリ区切り記号 \
は処理されるため、Path
と ChildPath
の間には区切り記号が 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 |
入力
このコマンドレットへのパスを含む文字列をパイプ処理できます。
出力
このコマンドレットは、結果のパスを含む文字列を返します。
メモ
Path 名詞 (Path コマンドレット) を含むコマンドレットは、パス名を操作し、すべての PowerShell プロバイダーが解釈できる簡潔な形式で名前を返します。 これらは、パス名のすべてまたは一部を特定の形式で表示するプログラムやスクリプトで使用するように設計されています。
Dirname
、Normpath
、Realpath
、Join
、その他のパス マニピュレーターを使用する場合と同様に使用します。
パス コマンドレットは、FileSystem
、Registry
、Certificate
プロバイダーなど、複数のプロバイダーで使用できます。
このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider
」と入力します。 詳細については、about_Providersを参照してください。
関連リンク
PowerShell