我们知道Join-Path可以用来创建路径,比如
代码语言:javascript复制Join-Path 'C:Program Files' WindowsPowerShell
会把C:Program Files
和子文件/文件夹WindowsPowerShell
连接在一起生成 C:Program FilesWindowsPowerShell
但根据Join-Path的说明,其并不支持将多级子文件夹连接在一起生成一个新路径。
比如,我想将C:Program Files
以及WindowsPowerShell
和Modules
两级子目录连接生成C:Program FilesWindowsPowerShellModules
,单靠一条Join-Path调用是做不到的。
解决方法1:
代码语言:javascript复制# 管道连接的两次Join-Path调用实现多级子文目录连接
$Modules=Join-Path 'C:Program Files' WindowsPowerShell | Join-Path -ChildPath Modules
$Modules
解决方法2:
代码语言:javascript复制# 以嵌套方式进行两次Join-Path调用实现多级子文目录连接
$Modules= Join-Path (Join-Path 'C:Program Files' WindowsPowerShell) -ChildPath Modules
$Modules
解决方法3:
代码语言:javascript复制# 使用[io.path]::combine函数实现多级子文目录连接
$Modules=[io.path]::combine('C:Program Files',"WindowsPowerShell","Modules")
$Modules
参考资料: 《Join-Path》 《How do I use join-path to combine more than two strings into a file path?》