Windows battery report: check your laptop battery health from the command line

Generate a Windows battery report with powercfg, check live charge status, and trace what is draining power — all from the terminal.

WindowspowercfgwmicmdPower & SleepDiagnosticsbatteryLow risk
Run powercfg /batteryreport and open the HTML file it creates on your Desktop.

What this covers

Windows can tell you exactly how worn your laptop battery is and what is eating your charge — no third-party tools needed. This guide walks you through generating the battery report, reading live battery status, and optionally diagnosing the causes of fast drain.

Generate the battery report

This is the core of the scenario: an HTML report comparing design capacity vs. full-charge capacity, plus a history of recent drains. Run it from any prompt, then open battery-report.html on your Desktop. If DESIGN CAPACITY and FULL CHARGE CAPACITY are close, your battery is healthy.

Create an HTML report showing design vs. full-charge capacity and recent battery drain.

Command
$ powercfg /batteryreport /output "%USERPROFILE%\Desktop\battery-report.html"

Check the current charge and status

The report shows history; this shows the live state — current percentage, whether it is charging, and the estimated runtime. Use it to sanity-check the report: the percentage should match what Windows shows in the tray. If it works, you get three numbers back instead of an error.

Read the current battery percentage, charging status and estimated remaining runtime in PowerShell with Win32_Battery.

Command
$ Get-CimInstance Win32_Battery | Select-Object EstimatedChargeRemaining, BatteryStatus, EstimatedRunTime

Trace what is draining power

If the battery report shows fast drain, this 60-second diagnosis lists devices, timeouts and settings that waste power or block sleep. It takes a minute to run and writes an HTML report; check the Errors and Warnings sections for concrete culprits. Optional if you only wanted capacity info.

60-second trace that reports devices, timeouts and settings preventing sleep or wasting power.

Command
$ powercfg /energy

Check which sleep states are available

Battery life depends heavily on sleep and hibernate working. This one-liner shows which standby states your machine supports and which are disabled — and why. If hibernate is listed as unavailable, that explains short effective battery life on a closed lid.

Show which standby and hibernate states the machine supports, and which are disabled and why.

Command
$ powercfg /a
!The battery report is read-only and safe, but the capacity numbers only become meaningful after a few normal charge cycles. Don't judge a brand-new battery from a single report.

How to confirm it worked

battery-report.html opens on your Desktop and shows both a design capacity and a full-charge capacity figure; the live charge query returns values matching the tray icon.

Sources

  • powercfg command-line options
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Documents powercfg /batteryreport, which generates an HTML report of battery capacity history and life estimates, and its /output path option.
  • Get-CimInstance cmdlet | Microsoft Learn
    Microsoft · vendor-doc · 2026-09-17
    Evidence: Get-CimInstance queries WMI classes such as Win32_Battery by -ClassName.
  • Win32_Battery class | Microsoft Learn
    Microsoft · vendor-doc · 2026-09-17
    Evidence: Win32_Battery exposes EstimatedChargeRemaining (percent), BatteryStatus and EstimatedRunTime (seconds).

Last verified: 2026-09-21

Related guides