如果我想将两个字符串组合成文件路径,我会使用 Join-Path
,用法如下:
$path = Join-Path C: "Program Files"
Write-Host $path
那将打印 "C:\Program Files"
。但如果我想对超过两个字符串执行此操作:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell出现错误:
Join-Path:找不到接受参数'Microsoft Office'的位置参数。
在 D:\users\ma\my_script.ps1:1 字符:18
+ $path = join-path <<<< C: "Program Files" "Microsoft Office"
+ CategoryInfo : InvalidArgument: (:) [Join-Path], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell
.Commands.JoinPathCommand
我尝试使用字符串数组:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
但是 PowerShell 提示我输入子路径(因为我没有指定 -childpath
参数),例如 "somepath",然后创建三个文件路径。
C:\somepath
Program Files\somepath
Microsoft Office\somepath
这也不是正确的。