使用两个等长数组执行数学运算

我正在做的事情非常简单,以至于我都在努力寻找答案。我正在尝试从彼此中减去两个相等长度的数组

$free_array = get-wmiobject -class win32_logicaldisk | select -ExpandProperty freespace
$size_array = get-wmiobject -class win32_logicaldisk | select -ExpandProperty size

ForEach ($size in $size_array)
  {
    Write-Host Statistic: $size - $freespace
  }

回答

我认为 PowerShell 没有内置函数来同时映射多个数组,因此您可以使用范围运算符,然后根据需要对两个数组进行索引:

foreach ($Index in (0..($free_array.Count - 1))) {
    Write-Host Statistic: ($size_array[$Index] - $free_array[$Index])
}

但是,您的任务也可以这样完成,我认为这会更具可读性:

$LogicalDisks = Get-CimInstance -ClassName Win32_LogicalDisk

foreach ($LogicalDisk in $LogicalDisks) {
    Write-Host Statistic: ($LogicalDisk.Size - $LogicalDisk.FreeSpace)
}

  • Upvoted for the "However..." part.

以上是使用两个等长数组执行数学运算的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>