[ホーム] - [バッチファイル サンプル一覧] - [バッテリのフル容量を確認するコマンド]

バッテリのフル容量を確認するコマンド | Windows バッチファイル





バッテリのフル容量を確認するバッチファイルを紹介します。購入時のスペックではなくコマンドを実行した時点のものであるため、長く使用したパソコンでは低い値が出力されると思います。
wmic コマンドにより BatteryFullChargedCapacity クラスを参照にすることにより値を取得します。

単位は mWh です。

基本として次のコマンドを使用します。


C:\> WMIC /NameSpace:"\\root\WMI" Path BatteryFullChargedCapacity
Active Caption Description Frequency_Object Frequency_PerfTime Frequency_Sys100NS FullChargedCapacity InstanceName Name Tag Timestamp_Object Timestamp_PerfTime Timestamp_Sys100NS
TRUE 34073 ACPI\PNP0C0A\1_0 1



仮想OS (VMware Player ) などバッテリを使用していない状態で実行した場合は以下のエラーが出力されます。

ノード - PC-NAME
エラー:
説明 = 無効なクラスです




もし次のように表示される場合はバッチをバッチファイル(test.batなど) に記載して実行してください。



"| の使い方が誤っています。





For の使い方が誤っています。



コマンドラインで直接実行するとこのエラーが発生する場合があります。


・先頭に@を付けることでコマンドそのものは画面に出力しません。

サンプルコード集

以下は Windows 10 環境におけるサンプルコードと実行結果です。

バッチファイル内に以下記載し実行します。フル充電時の容量が表示されます。要するに出力結果から欲しい値のみを取り出しています。
出力される "FullChargedCapacity " の単位は mWh です。

サンプルコード:

FOR /F "tokens=* delims=" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryFullChargedCapacity Get FullChargedCapacity /Format:list ^| FIND "="') DO @echo %%A

実行結果:


c:\>FOR /F "tokens=* delims=" %A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryFullChargedCapacity Get FullChargedCapacity /Format:list | FIND "="') DO @echo %A
FullChargedCapacity=34073



同様のことを Powershell で実行するには以下のコマンドを実行します。コマンドプロンプトから実行します。同じく出力される "FullChargedCapacity " の単位は mWh です。

サンプルコード:

powershell (Get-WmiObject -Class "BatteryFullChargedCapacity" -Namespace "ROOT\WMI").FullChargedCapacity


実行結果:


c:\>powershell (Get-WmiObject -Class "BatteryFullChargedCapacity" -Namespace "ROOT\WMI").FullChargedCapacity
34073



すべての情報を表示するには以下コマンドを実行します。

サンプルコード:

powershell (Get-WmiObject -Class "BatteryFullChargedCapacity" -Namespace "ROOT\WMI")

実行結果:

c:\>powershell (Get-WmiObject -Class "BatteryFullChargedCapacity" -Namespace "ROOT\WMI")


__GENUS : 2
__CLASS : BatteryFullChargedCapacity
__SUPERCLASS : MSBatteryClass
__DYNASTY : CIM_StatisticalInformation
__RELPATH : BatteryFullChargedCapacity.InstanceName="ACPI\\PNP0C0A\\1_0"
__PROPERTY_COUNT : 13
__DERIVATION : {MSBatteryClass, Win32_PerfRawData, Win32_Perf, CIM_StatisticalInformation}
__SERVER : PCNAME
__NAMESPACE : ROOT\WMI
__PATH : \\PCNAME\ROOT\WMI:BatteryFullChargedCapacity.InstanceName="ACPI\\PNP0C0A\\1_0"
Active : True
Caption :
Description :
Frequency_Object :
Frequency_PerfTime :
Frequency_Sys100NS :
FullChargedCapacity : 34073
InstanceName : ACPI\PNP0C0A\1_0
Name :
Tag : 1
Timestamp_Object :
Timestamp_PerfTime :
Timestamp_Sys100NS :
PSComputerName : PCNAME






バッテリの情報の詳細を取得するには以下のようなコマンドを実行します。

(1)電源効率の診断レポート
C:\> powercfg /energy
電源が効率良く使用されているかチェックします。電源関連のポリシーや高使用率CPUのプロセスが確認できます。
→結果はC:\WINDOWS\system32\energy-report.html

"エラー"や"警告"が大量に表示されますが、ほとんどが"省エネ設定になっていない"というエラーや警告です。
持ち運びではなく自宅などで電源接続して使用する場合は性能を優先するため無視してよいと思います。

(2)バッテリーレポート
バッテリの状態をチェックします。
C:\ powercfg /batteryreport
→結果はC:\WINDOWS\system32\battery-report.html


サンプルコード:


C:\>powercfg /energy

C:\>powercfg /batteryreport


実行結果:


C:\>powercfg /energy
トレースを 60 秒間有効にしています...
システムの動作を監視しています...
トレース データを分析しています...
分析が完了しました。

エネルギー効率の問題が見つかりました。

13 個のエラー
20 個の警告
64 個の情報

詳細については、C:\WINDOWS\system32\energy-report.html を参照してください。

C:\>powercfg /batteryreport
バッテリ寿命レポートがファイル パス C:\WINDOWS\system32\battery-report.html に保存されました。


同じくバッテリのチャージ回数を計測する がありますが、私の環境では正しく値を取得することができませんでした。0が戻ってしまいます。

サンプルコード:


powershell (Get-WmiObject -Namespace root\wmi BatteryCycleCount).CycleCount


実行結果:


c:\>powershell (Get-WmiObject -Namespace root\wmi BatteryCycleCount).CycleCount
0








本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [バッチファイル サンプル一覧]