Con solo il prompt dei comandi, è possibile disabilitare la modalità sospensione quando si chiude il coperchio di un laptop?
Con solo il prompt dei comandi, è possibile disabilitare la modalità sospensione quando si chiude il coperchio di un laptop?
Risposte:
Il comando che stai cercando è powercfg. Apri un prompt dei comandi e digitapowercfg –q >poweroptions.txt
Questo creerà un file di testo (poweroptions.txt) con tutti i GUID per le impostazioni di risparmio energia. Apri il file poweroptions.txt e trova il GUID per la combinazione di risparmio energia corrente. Questo dovrebbe essere all'inizio del file e sarà simile al seguente:
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)
Copia e incolla solo il GUID (in questo esempio - 381b4222-f694-41f0-9685-ff5bb260df2e
) in un nuovo file di testo vuoto. Quindi scorrere e trovare il GUID del sottogruppo per le azioni "Pulsanti di accensione e coperchio". Copia e incolla questo GUID nello stesso nuovo file di testo come una riga separata. Ora trova il GUID di impostazione dell'alimentazione per "Lid close action" e copia e incolla quello sotto gli altri due. Notare anche i numeri di 'Possible Setting Index' per l'opzione che si desidera impostare (disabilitato è 000). Dovrai eseguire il comando una volta per ogni schema di alimentazione, alimentazione CC e CA per coprire entrambe le situazioni. Il comando sarà simile al seguente:
Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000
Ho provato questo e il mio comando è simile al seguente:
powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000
Il secondo comando è per quando l'utente è a batteria ed è esattamente lo stesso, tranne per il fatto che utilizziamo l'interruttore –SETDCVALUEINDEX
.
powercfg
sembra un bell'esempio di "come non scrivere uno strumento da riga di comando": /
L'argomento qui è Come disabilitare la modalità di sospensione tramite CMD?
Supponendo di aver configurato il coperchio del laptop per non fare nulla quando è chiuso:
powercfg -x -standby-timeout-ac 0
(in qualche modo l'interruttore -x non funziona per me, quindi l'ho cambiato in / x e funziona. Il resto degli switch rimane -standby-timeout-ac )
Come mostrato nella pagina Technet di Microsoft "Opzioni della riga di comando Powercfg" ( https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx ), il comando è:
> valore di impostazione powercfg -x (il valore che stai guardando è "standby")
pertanto: > powercfg -x -standby-timeout-ac minuti (disabilita = 0 minuti)
NOTA: ac = collegato all'alimentazione elettrica / dc = funziona a batteria (quindi se si desidera disabilitare la modalità di sospensione mentre si lavora a batteria, sostituire "ac" con "dc" nel comando, quindi sarà simile powercfg -x -standby-timeout-dc 0
)
-x
potrebbe essere che si trattava di un trattino completo, non del normale simbolo negativo.
Sulla base della risposta precedente ho scritto un file batch.
@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
È necessario modificare da %% i a% i se si tenta di eseguire questi comandi direttamente in un prompt dei comandi (all'esterno di un batch).
Basato sulla sceneggiatura di Jeremy e Jonas Herdick, ho scritto questo script di attivazione / disattivazione, che è indipendente dalla localizzazione (quindi funziona anche con le finestre tedesche) e mi aiuta a disabilitare e ripristinare (come mai prima) l'azione di chiusura del coperchio quando si inserisce il mio notebook al suo dock (dove il coperchio deve essere chiuso). E sì, non dimenticare di riattivare il sistema di alimentazione corrente dopo ogni cambiamento come indicato da 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%
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
Microsoft ha una lunga pagina sulle powercfg
opzioni della riga di comando.
Probabilmente leggerai -x
sull'interruttore. powercfg
Tuttavia, ho usato solo per modificare le impostazioni di ibernazione.
powercfg
non ha opzioni per modificare il lid close action
. Le opzioni di risparmio energia sono memorizzate nel Registro di sistema, HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy
ma non è chiaro quali valori nei dati binari corrispondano a quale impostazione.
Un'altra cosa. Ricorda di aggiungere "powercfg -S% StrOne%" alla fine dello script per attivare le impostazioni. Le altre impostazioni verranno appena impostate, ma non verranno salvate / attivate.
Prova NoDoz . Una volta installato, è possibile eseguire nodoz
dal prompt cmd (o dal terminale PowerShell) per impedire al sistema di dormire indefinitamente. In alternativa, è possibile passare un parametro di timeout come -t 6h13m
far terminare automaticamente il programma dopo un periodo di tempo arbitrario.