【问题标题】:How to do inline math operation during "add-member" in Powershell如何在 Powershell 中的“添加成员”期间进行内联数学运算
【发布时间】:2019-02-18 03:07:24
【问题描述】:

我正在尝试在 Powershell 的 add-member 行中进行数学运算,方法是将对象属性的值除以 10。这是代码

这是我的代码

Foreach($item in $Collection)
{
    $Result = new-object PSObject
    $Result| add-member -membertype NoteProperty -name "Column1" -Value $item.Value/10
    $ResultSet += $Result
}

这给了我以下错误:

添加成员:无法绑定参数“MemberType”。无法将值“/10”转换为类型“System.Management.Automation.PSMemberTypes”。

我该如何解决这个问题?

【问题讨论】:

  • 尝试使用子表达式:-value $($item.Value/10)

标签: powershell


【解决方案1】:

-Value 的参数需要放在括号中。否则不清楚你想做什么。例如,您可以尝试运行 Add-Member 并尝试将其除以 10。括号起作用的原因是因为它们(在大多数情况下)首先被评估。因此 PowerShell 将首先计算除法的值并将计算的值用作 value 的参数。因为此时它是单个值,所以很清楚要为 Value 参数提供什么参数。

Add-Member -MemberType NoteProperty -Name "Column1" -Value ($item.Value/10)

【讨论】:

  • 考虑通过解释为什么来编辑答案,添加括号可以解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多