powershell:Join-Path连接多级子目录的方法

2018-01-03 12:06:30 浏览数 (1)

我们知道Join-Path可以用来创建路径,比如

代码语言:javascript复制
Join-Path 'C:Program Files' WindowsPowerShell

会把C:Program Files和子文件/文件夹WindowsPowerShell连接在一起生成 C:Program FilesWindowsPowerShell

但根据Join-Path的说明,其并不支持将多级子文件夹连接在一起生成一个新路径。 比如,我想将C:Program Files 以及WindowsPowerShellModules两级子目录连接生成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?》

0 人点赞