Join-Path

Combine a path and one or more child-paths into a single path.

Syntax
 Join-Path [-path] string[] [-childPath] string [-resolve]
 [-credential PSCredential] [-UseTransaction] [CommonParameters ]
Key
 -Path string[]
 The main path (or paths) to which the child-path is appended.
 Wildcards are permitted. May be piped.
 -childPath string
 The elements to append to the value of Path.
 Wildcards are permitted. May be piped.
 -resolve 
 Display the items that are referenced by the joined path.
 If the items do not exist in the current session an error will be raised.
 Where a wildcard is used, display all the matching items.
 -credential PSCredential
 Use a credential to validate access to the file. Credential represents
 a user-name, such as "User01" or "Domain01\User01", or a PSCredential
 object, such as the one retrieved by using the Get-Credential cmdlet.
 If you type a user name, you will be prompted for a password.
 This parameter is not supported by any PowerShell core cmdlets or providers.
 -UseTransaction
 Include the command in the active transaction.

The appropriate path delimiters will be supplied by the provider.
In PowerShell 6.0 and above, join-path can combine an indefinite number of child paths.

.NET equivalent to Join-Path:
PS C:\> [System.IO.Path]::Combine('path', 'childPath')

Examples

Join two paths:

PS C:\> Join-Path -path c:\win* -childpath system*
C:\win*\System*

Join two paths with a wildcard and display the matching files and folders, -resolve will display the full pathnames:

PS C:\> Join-Path -path c:\win* system* -resolve
C:\Windows\System
C:\Windows\System32
...
C:\Windows\System.ini

Join two paths with a single character wildcard (?) and display the matching files and folders, -resolve will display the full pathnames, if they exist:

PS C:\> Join-Path -path "c:\batch" -childpath Project? -resolve
C:\batch\Project1
C:\batch\Project2

Join two paths that don't exist and attempt to resolve them, this will raise an error:

PS C:\> Join-Path -path "c:\Windows" -childpath "AfolderThatDoesntExist" -resolve

Display the registry keys in the HKLM\System hive that include "ControlSet":

PS C:\> Set-Location HKLM:
PS HKLM:\> join-path System *ControlSet* -resolve
HKLM:\System\ControlSet001
HKLM:\System\ControlSet002
HKLM:\System\CurrentControlSet

Combine multiple path roots with a child path:

PS C:\> Join-Path -Path C:, D:, E:, F: -ChildPath New

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

#Here come old flattop, he come grooving up slowly, He got joo-joo eyeball, he one holy roller# ~ The Beatles (Come Together)

Related PowerShell Cmdlets

Convert-Path - Convert a ps path to a provider path.
Resolve-Path - Resolve the wildcards in a path.
Split-Path - Return part of a path.
Test-Path - Return true if the path exists, otherwise return false.
Get-Help about_namespace

(追記) (追記ここまで)
Copyright © 1999-2026 SS64.com
Some rights reserved

AltStyle によって変換されたページ (->オリジナル) /