Как получить процент заряда батареи с помощью пакетного файла: несколько методов с примерами кода

Чтобы получить процент заряда батареи с помощью пакетного файла, вы можете использовать команду «WMIC» в Windows. Вот пример фрагмента кода:

@echo off
setlocal
for /F "skip=1 delims=" %%A in ('wmic path Win32_Battery Get EstimatedChargeRemaining') do (
    set "batteryPercent=%%A"
    goto :done
)
:done
echo Battery Percentage: %batteryPercent%

Этот пакетный файл использует команду WMICдля запроса класса Win32_Batteryи получения свойства EstimatedChargeRemaining, которое представляет процент заряда батареи. Цикл for /Fзахватывает выходные данные команды WMICи присваивает их переменной batteryPercent. Наконец, пакетный файл отображает процент заряда батареи.

Вот еще несколько способов узнать процент заряда батареи:

Метод 1. Использование PowerShell:

@echo off
for /F "usebackq tokens=2 delims== " %%A in (`powershell -command "(Get-WmiObject -Class Win32_Battery).EstimatedChargeRemaining"`) do (
    set "batteryPercent=%%A"
    goto :done
)
:done
echo Battery Percentage: %batteryPercent%

Метод 2. Использование VBScript:

@echo off
for /F "usebackq tokens=2 delims== " %%A in (`cscript //Nologo //E:vbscript -e "WScript.Echo (GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("SELECT EstimatedChargeRemaining FROM Win32_Battery").ItemIndex(0).EstimatedChargeRemaining)"`) do (
    set "batteryPercent=%%A"
    goto :done
)
:done
echo Battery Percentage: %batteryPercent%

Метод 3. Использование PowerShell и языка запросов WMI (WQL):

@echo off
for /F "usebackq tokens=2 delims== " %%A in (`powershell -command "(Get-WmiObject -Query 'SELECT EstimatedChargeRemaining FROM Win32_Battery').EstimatedChargeRemaining"`) do (
    set "batteryPercent=%%A"
    goto :done
)
:done
echo Battery Percentage: %batteryPercent%