首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用连接路径将两个以上的字符串合并到一个文件路径中?

如何使用连接路径将两个以上的字符串合并到一个文件路径中?
EN

Stack Overflow用户
提问于 2018-04-10 00:53:18
回答 2查看 0关注 0票数 0

如果我想将两个字符串合并到一个文件路径中,我使用join-path如下所示:

代码语言:javascript
复制
$path = join-path C: "Program Files"
write-host $path

打印C:\Program Files"。如果我想为两个以上的字符串做这件事:

代码语言:javascript
复制
$path = join-path C: "Program Files" "Microsoft Office"
write-host $path

Powershell引发错误:

代码语言:javascript
复制
Join-Path : A positional parameter cannot be found that accepts argument 'Micro
soft Office'.
At D:\users\ma\my_script.ps1:1 char:18
+ $path = join-path <<<<  C: "Program Files" "Microsoft Office"
    + CategoryInfo          : InvalidArgument: (:) [Join-Path], ParameterBindi
   ngException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell
   .Commands.JoinPathCommand

我尝试使用一个字符串数组:

代码语言:javascript
复制
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = join-path $pieces
write-host $path

但是Powershell会提示我输入childpath(因为我没有指定-childpath参数),例如“somepath”,然后创建三个文件路径,

代码语言:javascript
复制
C:\somepath
Program Files\somepath
Microsoft Office\somepath

这也不正确。

EN

回答 2

Stack Overflow用户

发布于 2018-04-10 09:33:27

你可以使用.NET PATH类:

代码语言:txt
复制
[io.path]::combine('c:\', 'foo', 'bar')
票数 0
EN

Stack Overflow用户

发布于 2018-04-10 10:16:38

由于Join-Path可以通过管道传递其路径值,因此可以将多个Join-Path语句连接在一起:

代码语言:javascript
复制
Join-Path "C:" -ChildPath "Windows" | Join-Path -ChildPath "system32" | Join-Path -ChildPath "drivers"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档