Join-Path
将路径和子路径合并为单个路径。
语法
Default (默认值)
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[-Resolve]
[-Credential <PSCredential>]
[-UseTransaction]
[<CommonParameters>]
说明
Join-Path cmdlet 将路径和子路径合并为单个路径。
提供程序提供路径分隔符。
示例
示例 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
此命令显示 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 对象的 Root 属性,并将其与指定的子路径合并。
输出显示计算机上的 PowerShell 驱动器包含映射到 C:\Program Files 目录的驱动器。
参数
-ChildPath
指定要追加到 Path 参数值的元素。
允许使用通配符。
ChildPath 参数是必需的,尽管参数名称(“ChildPath”)是可选的。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
(All)
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Credential
注释
任何随 PowerShell 一起安装的提供程序都不支持此参数。 要模拟其他用户,或在运行此 cmdlet 时提升凭据,请使用 Invoke-Command。
参数属性
| 类型: | PSCredential |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Path
指定子路径追加到的主路径。 允许使用通配符。
Path 的值可确定哪个提供程序将联接路径并添加路径分隔符。
Path 参数是必需的,尽管参数名称(“Path”)是可选的。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
| 别名: | PSPath |
参数集
(All)
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Resolve
指示此 cmdlet 应尝试从当前提供程序解析联接的路径。
- 如果使用通配符,cmdlet 将返回与联接路径匹配的所有路径。
- 如果 未使用 通配符,则如果路径不存在,则 cmdlet 将出错。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-UseTransaction
在活动事务中包含该命令。 此参数仅在事务正在进行时有效。 有关详细信息,请参阅 about_Transactions。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | usetx |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
String
此 cmdlet 返回包含生成的路径的字符串。
备注
包含 Path 名词(Path cmdlet)的命令行工具用来操作路径名称,并以所有 PowerShell 提供程序都能解释的简洁格式返回这些名称。 它们旨在用于要以特定格式显示路径名称的所有或部分的程序和脚本。 像使用 Dirname、Normpath、Realpath、Join 或其他路径操控器一样使用它们。
可以将路径 cmdlet 与某些提供程序一起使用,包括 FileSystem、Registry 和 Certificate 提供程序。
此 cmdlet 的设计目的是与任何供应商公开的数据进行协作。
若要列出会话中可用的提供程序,请键入 Get-PSProvider。
有关详细信息,请参阅 about_Providers。