【发布时间】:2021-11-18 02:12:54
【问题描述】:
【问题讨论】:
标签: arrays powershell sum
【问题讨论】:
标签: arrays powershell sum
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
}
}
【讨论】: