【发布时间】:2019-12-10 05:07:10
【问题描述】:
我想从 bat 文件中更改 JSON 文件的内容。我想通过调用 powershell 并使用单行管道命令来做到这一点。
到目前为止,我在这里:
Get-Content test.json -raw | ConvertFrom-Json | Set-ItemProperty -Name "ServiceAccess.Host" -Value "localhost:5000" | ConvertTo-Json | Set-Content test.json
这是我的 JSON 文件:
{
"ServiceAccess":
{
"Host": "localhost:3000"
}
}
它不起作用:
Set-ItemProperty : 输入对象不能绑定到命令的任何参数,因为命令确实 不接受管道输入或输入及其属性与接受管道输入的任何参数都不匹配。 在行:1 字符:49 + ... 来自-Json | Set-ItemProperty -Name "ServiceAccess.Host" -Value "local ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ + CategoryInfo : InvalidArgument: (@{ServiceAccess=}:PSObject) [Set-ItemProperty], ParameterBindingExcept 离子 + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.SetItemPropertyCommand
在 powershell 管道中更改 JSON 对象的正确方法是什么?
【问题讨论】:
标签: powershell