【问题标题】:PowerShell Sum Array That Already Contains MBs已包含 MB 的 PowerShell Sum 数组
【发布时间】:2021-11-18 02:12:54
【问题描述】:

我有一个数组,其中包含值中已经存在的 MB。这就是 MS DPM 返回写入磁带的数据的方式。我想把它们总结在一起。有没有一种简单的班轮可以适应这种情况?

【问题讨论】:

    标签: arrays powershell sum


    【解决方案1】:

    MB 是 PowerShell 原生语法中公认的数字后缀,因此您可以使用 Invoke-Expression 解析和评估大小字符串:

    PS ~> Invoke-Expression '2401927.56MB'
    2517924115906.56
    

    您需要进行一些基本的输入验证以确保它实际上是一个数字序列,并删除千位分隔符:

    $Tapes.DataWrittenDisplayString |ForEach-Object {
        # remove commas and whitespace
        $dataWritten = $_ -replace '[,\s]'
        # ensure it's actually a number in the expected format
        if($dataWritten -match '^\d+(?:\.\d+)?[kmgtp]b$'){
            # let PowerShell do the rest
            $dataWritten |Invoke-Expression
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2023-03-28
      • 1970-01-01
      • 2019-12-14
      • 2021-05-01
      相关资源
      最近更新 更多