如何编写PowerShell脚本计算充电速率(mAh)并整合至电池状态输出
PowerShell脚本修改方案:计算mAh充电速率并转换电压格式
直接使用以下修改后的脚本,就能实现你需要的功能:
Get-CimInstance -Class BatteryStatus -Namespace root\wmi | Select-Object ChargeRate, @{Name='Voltage'; Expression={[math]::Round($_.Voltage / 1000, 2)}}, DischargeRate, RemainingCapacity, @{Name='ChargeRate mAh'; Expression={ if ($_.Voltage -ne 0) { [math]::Round($_.ChargeRate / ($_.Voltage / 1000), 2) } else { 0 } }}
关键修改说明:
- Voltage转换为小数:原
Voltage返回的是毫伏(mV)值,除以1000转换为伏特(V),用[math]::Round(...,2)保留两位小数,让结果更易读。 - 计算ChargeRate mAh:利用公式
充电速率(mAh) = 充电功率(mWh) / 电压(V),先把Voltage转成V再参与计算;增加电压非零判断,避免出现除以0的错误。 - 保留原有属性:直接保留你需要的
ChargeRate、DischargeRate、RemainingCapacity,同时新增两个处理后的属性。
如果习惯使用旧版的gwmi命令,把脚本里的Get-CimInstance替换成gwmi即可,功能完全一致。
内容的提问来源于stack exchange,提问作者HARDWELL9191
相关产品推荐
相关产品推荐

