如何在 PowerShell 中连接路径将多个字符串组合成文件路径

  1. 使用 Join-Path 值将多个字符串组合成 PowerShell 中的文件路径
  2. 结论
如何在 PowerShell 中连接路径将多个字符串组合成文件路径

Join-Path cmdlet 允许用户将字符串合并为单一路径。有时,在使用 PowerShell 时,您可能需要组合路径以创建单一路径。

这就是 Join-Path cmdlet 发挥作用的地方。可以将多个子路径组合或附加到主路径以创建单一路径。

-Path 参数指定要附加子路径的主路径。-Path 值决定了哪个提供程序连接路径并添加路径分隔符。

它提供 \ 分隔符来连接路径。-ChildPath 参数指定要附加到 -Path 参数值的路径。

例如,以下命令使用 Join-Path 将主路径 hello 和子路径 world 合并。

Join-Path -Path "hello" -ChildPath "world"

输出:

powershell 连接路径 - 输出 1

Join-Path cmdlet 仅接受两个字符串输入或一个 -ChildPath 参数。使用单个命令,您无法使用 Join-Path 将多个字符串组合成文件路径。

您需要结合使用多个 Join-Path 语句,以便在 PowerShell 中将超过两个字符串组合成文件路径。

使用 Join-Path 值将多个字符串组合成 PowerShell 中的文件路径

由于 Join-Path 路径值可以传递到管道,您可以将多个 Join-Path 语句管道连接在一起,以将多个字符串组合成文件路径。

例如,以下代码将所有四个字符串组合在一起,并创建单一路径 C:\content\software\PowerShell

Join-Path -Path "C:" -ChildPath "content" | Join-Path -ChildPath "software" | Join-Path -ChildPath "PowerShell"

在此代码片段中,您多次使用 Join-Path cmdlet,逐步构建文件路径。每次调用 Join-Path,您都会获取当前路径并通过添加另一部分进行扩展。

这通过将每个 Join-Path 操作的输出传递给下一个来完成,实际上构建最终的文件路径。-ChildPath 参数在这里是关键,因为它指定要附加到现有路径的附加部分。

因此,该代码有效地通过将基本路径 C: 与后续字符串 contentsoftwarePowerShell 组合在一起,创建了完整的文件路径。

输出:

powershell 连接路径 - 输出 2

在 PowerShell 中将多个文件路径与子路径组合

将多个路径与子路径组合的主要目的是在 PowerShell 中创建完全限定的文件路径。通过了解如何将多个路径与子路径组合,您可以有效地动态构建文件路径,从而增强 PowerShell 脚本的灵活性和可读性。

Join-Path -Path "Path1\", "Path2\" -ChildPath "Folder\File.txt"

在此代码片段中,您使用 Join-Path cmdlet 将两个路径(Path1Path2)与子路径(Folder\File.txt)合并。通过通过 -Path 参数传递根路径数组,并使用 -ChildPath 指定子路径,您正在创建完全限定的文件路径。

因此,输出提供了通过将每个路径与提供的子路径组合形成的完整文件路径。这种方法提供了一种将多个路径集成到单一路径中的简便方式,从而增强了 PowerShell 脚本的通用性。

输出:

powershell 连接路径 - 输出 3

在 PowerShell 中将文件系统驱动器的根与子路径组合

在处理多个路径根和子路径时,Join-Path cmdlet 结合数组输入和 -ChildPath 参数提供了一种有效的方法,将不同的路径组件合并为一个一致的文件路径。

Get-PSDrive cmdlet 的上下文中,-PSProvider 参数根据驱动器所属的提供程序过滤驱动器。

Get-PSDrive -PSProvider filesystem | ForEach-Object { $_.root } | Join-Path -ChildPath "SubFolder"

在此代码片段中,您使用 Get-PSDrive cmdlet 获取所有文件系统驱动器的根路径。然后,将结果传递给 ForEach-Object 以提取每个根路径。

这些根路径随后与子路径 SubFolder 一起传递给 Join-PathJoin-Path cmdlet 将每个根路径与子路径组合在一起,形成完全限定的文件路径。

这种方法允许您根据当前系统上可访问的驱动器的根路径动态生成文件路径。

输出:

powershell 连接路径 - 输出 4

结论

总之,PowerShell 中的 Join-Path cmdlet 是一个将字符串合并为单一文件路径的宝贵工具。虽然它通常仅接受两个字符串输入或一个 -ChildPath 参数,但您可以通过链式组合多个 Join-Path 语句来克服此限制。

本文探讨了使用 Join-Path 将多个字符串组合成文件路径的各种方法,包括连锁多次使用 cmdlet 和将一个 Join-Path 操作的输出传递给另一个的方式。通过理解这些技术,您可以根据 PowerShell 脚本中的不同场景和需求动态构建文件路径。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相关文章 - PowerShell String

相关文章 - PowerShell Path