Зрозумів!
Я зробив планове завдання, яке спрацьовує, коли комп'ютер працює в режимі очікування , і неодноразово запускає пакетний файл, який перевіряє, чи розряджається акумулятор і скільки відсотків він несе.
Якщо акумулятор розряджається (тобто ноутбук не підключено до електромережі), а акумулятор заряджається 25% або менше, він негайно переведе комп'ютер у режим сну (або перебуває в сплячому режимі, якщо його вже включено).
Завдання ставиться для того, щоб повторювати себе (тобто запускати пакетний файл) кожні 5 хвилин на невизначений термін. Також переконайтеся, що ви встановили такі умови:
Я грунтувався на своєму пакетному скрипті battstat.bat
звідси: http://www.robvanderwoude.com/wmiexamples.php
Мій сценарій ви знайдете нижче.
@ECHO OFF
:: Localize variables
SETLOCAL
:: Use WMI to retrieve battery status information
FOR /F "tokens=* delims=" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryStatus Get PowerOnline^,RemainingCapacity /Format:list ^| FIND "="') DO SET Battery.%%A
FOR /F "tokens=* delims=" %%A IN ('WMIC /NameSpace:"\\root\WMI" Path BatteryFullChargedCapacity Get FullChargedCapacity /Format:list ^| FIND "="') DO SET Battery.%%A
:: Calculate runtime left and capacity
SET /A Battery.RemainingCapacity = ( %Battery.RemainingCapacity%00 + %Battery.FullChargedCapacity% / 2 ) / %Battery.FullChargedCapacity%
:: Display results
IF /I "%Battery.PowerOnline%"=="FALSE" (
IF %Battery.RemainingCapacity% LEQ 25 (
Rundll32.exe Powrprof.dll,SetSuspendState Sleep
)
)
GOTO:EOF
:: End localization
IF "%OS%"=="Windows_NT" ENDLOCAL