Com apenas o prompt de comando, é possível desativar o modo de suspensão ao fechar a tampa de um laptop?
Com apenas o prompt de comando, é possível desativar o modo de suspensão ao fechar a tampa de um laptop?
Respostas:
O comando que você está procurando é powercfg. Abra um prompt de comando e digitepowercfg –q >poweroptions.txt
Isso criará um arquivo de texto (poweroptions.txt) com todos os GUIDs para as configurações de energia. Abra o arquivo poweroptions.txt e localize o GUID para o esquema de energia atual. Isso deve estar no topo do arquivo e terá a seguinte aparência:
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)
Copie e cole apenas o GUID (neste exemplo - 381b4222-f694-41f0-9685-ff5bb260df2e
) em um novo arquivo de texto vazio. Em seguida, role e localize o GUID do subgrupo para as ações "Botões de energia e tampa". Copie e cole esse GUID no mesmo novo arquivo de texto como uma linha separada. Agora encontre o GUID de configuração de energia para "Ação de fechamento da tampa" e copie e cole esse sob os outros dois. Observe também os números 'Índice de configuração possível' da opção que você deseja definir (desativado é 000). Você precisará executar o comando uma vez para cada esquema de energia, energia CC e CA, a fim de cobrir as duas situações. O comando ficará assim:
Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000
Eu testei isso e meu comando fica assim:
powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000
O segundo comando é para quando o usuário está com bateria e é exatamente o mesmo, exceto que usamos o comutador –SETDCVALUEINDEX
.
powercfg
parece um bom exemplo de "como não escrever uma ferramenta de linha de comando": /
O tópico aqui é Como desativar o modo de suspensão via CMD?
Supondo que você configurou a tampa do seu laptop para não fazer nada quando fechada:
powercfg -x -standby-timeout-ac 0
(de alguma forma, a opção -x não funciona para mim, então eu a mudei para / xe funciona. o restante das opções permanece -standby-timeout-ac )
Conforme mostrado na página Technet da Microsoft "Opções de linha de comando do Powercfg" ( https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx ), o comando é:
> valor da configuração powercfg -x (o valor que você está vendo é "em espera")
portanto: > powercfg -x-standby-timeout-ac minutes (desativar = 0 minutos)
NOTA: ac = conectado à energia elétrica / dc = funciona com bateria (portanto, se você deseja desativar o modo de suspensão enquanto estiver trabalhando com bateria, substitua "ac" por "dc" no comando, para que pareça powercfg -x -standby-timeout-dc 0
)
-x
pode ser que foi uma corrida completa, não o símbolo negativo normal.
Com base na resposta anterior, escrevi um arquivo em lotes.
@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
Você precisa alterar %% i para% i se estiver tentando executar esses comandos diretamente em um prompt de comandos (fora de um lote).
Com base no script de Jeremy e Jonas Herdick, escrevi esse script de alternância, que é independente da localização (também funciona com janelas em alemão) e me ajuda a desativar e restaurar (como era antes) a ação de fechar a tampa ao colocar meu notebook à sua base (onde a tampa precisa ser fechada). E sim, não se esqueça de reativar o esquema de energia atual após cada alteração como a KallePower mencionou
@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%
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
A Microsoft tem uma página longa em powercfg
opções de linha de comando.
Você provavelmente estará lendo sobre o -x
interruptor. Eu só costumava powercfg
alterar as configurações de hibernação.
powercfg
não possui opções para alterar o arquivo lid close action
. As opções de energia são armazenadas no Registro, HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy
mas não está claro quais valores nos dados binários acompanham qual configuração.
Mais uma coisa. Lembre-se de adicionar "powercfg -S% StrOne%" no final do script para ativar as configurações. As demais configurações serão definidas, mas não serão salvas / ativadas.
Experimente o NoDoz . Depois de instalado, você pode executar a nodoz
partir do prompt do cmd (ou terminal do PowerShell) para impedir que o sistema durma indefinidamente. Ou, você pode passar um parâmetro de tempo limite -t 6h13m
para que o programa termine automaticamente após um período arbitrário de tempo.