在方法调用中使用连接路径

using join-path in a method call

正在尝试写入文件并执行了以下操作:

$obj = New-Object System.IO.StreamWriter -ArgumentList join-path $pwd foo.txt

这引发了错误

PS C:\code\misc> $obj = New-Object System.IO.StreamWriter -ArgumentList Join-Path $pwd foo.txt
New-Object : A positional parameter cannot be found that accepts argument 'C:\code\misc'.
At line:1 char:18
+ $obj = New-Object <<<<  System.IO.StreamWriter -ArgumentList Join-Path $pwd foo.txt
    + CategoryInfo          : InvalidArgument: (:) [New-Object], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

所以我是否被迫为连接路径部分使用变量?我知道我可以使用 [System.IO.Path]::Combine() 但我只是想要一个替代方案...

Join-Path 位周围的括号应该可以解决问题。

$obj = New-Object System.IO.StreamWriter -ArgumentList (join-path $pwd foo.txt)