已包含 MB 的 PowerShell 求和数组
PowerShell Sum Array That Already Contains MBs
我有一个数组,其中包含值中已有的 MB。这就是 MS DPM returns 数据写入磁带的方式。我想把它们加在一起。有没有简单的衬垫来适应这个?
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
}
}
我有一个数组,其中包含值中已有的 MB。这就是 MS DPM returns 数据写入磁带的方式。我想把它们加在一起。有没有简单的衬垫来适应这个?
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
}
}