1

Могу ли я создать задачу в планировщике задач, которая запускается при достижении определенного уровня заряда батареи на простаивающем компьютере, чтобы перейти в спящий режим? Windows действительно дает возможность заставить компьютер переходить в спящий режим при определенном уровне заряда батареи, но ему все равно, если ноутбук простаивает или нет.

1 ответ1

1

Я понял!

Я сделал запланированное задание, которое запускается, когда компьютер простаивает, и многократно запускает пакетный файл, который проверяет, разряжается ли батарея и сколько процентов она несет.

Если батарея разряжается (т. Е. Ноутбук не подключен к электросети), и батарея заряжена на 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .