Join-Path
将路径和子路径合并到单个路径中。
语法
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
说明
cmdlet Join-Path
将路径和子路径合并到单个路径中。
提供程序将提供路径分隔符。
示例
示例 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
只有一个分隔符 ChildPath
示例 3:通过将路径与子路径联接来显示文件和文件夹
Join-Path "C:\win*" "System*" -Resolve
此命令显示通过联接路径和子路径引用的C:\Win\*
System\*
文件和文件夹。 它显示与 相同的文件和文件夹 Get-ChildItem
,但显示每个项的完全限定路径。 在此命令中, Path
省略 和 ChildPath
可选参数名称。
示例 4:将 Join-Path 与 PowerShell 注册表提供程序配合使用
PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve
HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet
此命令在包含 ControlSet
的注册表子项中HKLM\System
显示注册表项。
参数 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
cmdlet 获取 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”绑定到 Path
,“b”绑定到 ChildPath
,将“c-g”绑定到 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
注意
随 PowerShell 一起安装的任何提供程序都不支持此参数。 若要模拟其他用户,或在运行此 cmdlet 时提升凭据,请使用 Invoke-Command。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定子路径追加到的主路径。 允许使用通配符。
的值 Path
确定哪个提供程序联接路径并添加路径分隔符。
参数 Path
是必需的,但参数名称 (“Path”) 是可选的。
Type: | String[] |
Aliases: | PSPath |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Resolve
指示此 cmdlet 应尝试解析当前提供程序的联接路径。
- 如果使用通配符,则 cmdlet 将返回与联接路径匹配的所有路径。
- 如果未使用通配符,则如果路径不存在,cmdlet 将出错。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
此 cmdlet 返回包含结果路径的字符串。
备注
包含路径名词的 cmdlet (Path cmdlet) 操作路径名称,并返回所有 PowerShell 提供程序都可以解释的简洁格式的名称。 这些 cmdlet 用于需要在其中以特定格式显示全部或部分路径名称的程序或脚本中。
使用它们,就像使用 Dirname
、、Normpath
Realpath
Join
、 或其他路径操作器一样。
可以将路径 cmdlet 与多个提供程序一起使用,包括 FileSystem
、 Registry
和 Certificate
提供程序。
此 cmdlet 用于处理由任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入 Get-PSProvider
。 有关详细信息,请参阅 about_Providers。