8

Можно ли отключить спящий режим при закрытии крышки ноутбука только с помощью командной строки?

7 ответов7

12

Команда, которую вы ищете, это powercfg. Откройте командную строку и введите powercfg –q >poweroptions.txt

Это создаст текстовый файл (poweroptions.txt) со всеми GUID для настроек электропитания. Откройте файл poweroptions.txt и найдите GUID для текущей схемы питания. Это должно быть в самом верху файла и будет выглядеть так:

Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)

Скопируйте и вставьте только GUID (в этом примере - 381b4222-f694-41f0-9685-ff5bb260df2e) в новый пустой текстовый файл. Затем прокрутите и найдите GUID подгруппы для действий «Кнопки питания и крышка». Скопируйте и вставьте этот GUID в тот же новый текстовый файл отдельной строкой. Теперь найдите GUID настройки электропитания для «действия по закрытию крышки» и скопируйте и вставьте один под двумя другими. Обратите также внимание на цифры «Возможная установка индекса» для опции, которую вы хотите установить (отключено 000). Вам придется выполнить команду один раз для каждой схемы питания, постоянного и переменного тока, чтобы охватить обе ситуации. Команда будет выглядеть так:

Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000

Я проверил это, и моя команда выглядит так:

powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000

Вторая команда предназначена для тех случаев, когда пользователь работает от батареи, и она точно такая же, за исключением того, что мы используем переключатель –SETDCVALUEINDEX .

Вот официальная страница параметров командной строки Powercfg от Microsoft для дальнейшего использования.

5

Тема здесь Как отключить спящий режим через CMD?

Предполагая, что вы настроили крышку ноутбука, чтобы она ничего не делала в закрытом состоянии:

powercfg -x -standby-timeout-ac 0

(почему-то у меня не работает ключ -x , поэтому я изменил его на /x, и он работает. Остальные ключи остаются -standby-timeout-ac)

Как показано на странице Microsoft Technet «Параметры командной строки Powercfg» (https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx), команда выглядит так:

> Значение параметра powercfg -x (значение, которое вы смотрите, это "режим ожидания")

следовательно:> powercfg -x -standby-timeout-ac минут (отключить = 0 минут)

ПРИМЕЧАНИЕ: ac = подключен к электросети / dc = работает от батареи (поэтому, если вы хотите отключить спящий режим во время работы от батареи, замените "ac" на "dc" в команде, чтобы он выглядел как powercfg -x -standby-timeout-dc 0)

2

Основываясь на предыдущем ответе, я написал командный файл.

@echo off

for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "Power Scheme GUID:"') do Set StrOne=%%i
for /f "tokens=3 delims= " %%i IN ('powercfg -q ^| find "(Power buttons and lid)"') do Set StrTwo=%%i 
for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "(Lid close action)"') do Set StrThree=%%i 

powercfg -SETACVALUEINDEX %StrOne% %StrTwo% %StrThree% 000

Вам нужно изменить %% i на% i, если вы пытаетесь запустить эти команды непосредственно в командной строке (за пределами пакета).

1

Основываясь на сценарии Джереми и Джонаса Хердика, я написал этот сценарий переключения, который не зависит от локализации (также работает с немецкими окнами) и помогает мне отключать и восстанавливать (до того, что было раньше) действие закрытия крышки при установке моего ноутбук к док-станции (где крышка должна быть закрыта). И да, не забывайте повторно активировать текущую энергетическую схему после каждого изменения, как упомянуто KallePower

@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=:(" %%i in ('powercfg /GETACTIVESCHEME') do set ACTIVESCHEME=%%i
for /f "tokens=2 delims=:(" %%i in ('powercfg -q %ACTIVESCHEME% SUB_BUTTONS LIDACTION ^| findstr "[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*"') do set FULLPATH=!FULLPATH! %%i
for /f "tokens=2 delims=:(" %%i in ('powercfg /q %FULLPATH% ^| findstr "[0-9]x[0-9]*"') do (
    set CURRENTSETTINGAC=!CURRENTSETTINGDC!
    set CURRENTSETTINGDC=%%i
)
set CURRENTSETTINGAC=%CURRENTSETTINGAC:~-1%
set CURRENTSETTINGDC=%CURRENTSETTINGDC:~-1%
powercfg -SETACVALUEINDEX %FULLPATH% 0
powercfg -SETDCVALUEINDEX %FULLPATH% 0
powercfg /s %ACTIVESCHEME%
pause
powercfg -SETACVALUEINDEX %FULLPATH% %CURRENTSETTINGAC%
powercfg -SETDCVALUEINDEX %FULLPATH% %CURRENTSETTINGDC%
powercfg /s %ACTIVESCHEME%
0

Еще кое-что. Не забудьте добавить «powercfg -S% StrOne%» в конце скрипта, чтобы активировать настройки. Остальные настройки будут просто установлены, но не будут сохранены / активированы.

0

У Microsoft есть длинная страница о параметрах командной строки powercfg .

Вы, вероятно, будете читать по -x . Я только использовал powercfg для изменения настроек гибернации.

0
REM Disabling all Sleep Parameters

@echo off

powercfg /x -hibernate-timeout-ac 0

powercfg /x -hibernate-timeout-dc 0

powercfg /x -disk-timeout-ac 0

powercfg /x -disk-timeout-dc 0

powercfg /x -monitor-timeout-ac 0

powercfg /x -monitor-timeout-dc 0

Powercfg /x -standby-timeout-ac 0

powercfg /x -standby-timeout-dc 0

Pause

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