在方法调用中使用连接路径
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)
正在尝试写入文件并执行了以下操作:
$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)