Czy tylko przy pomocy wiersza polecenia można wyłączyć tryb uśpienia podczas zamykania pokrywy laptopa?
Czy tylko przy pomocy wiersza polecenia można wyłączyć tryb uśpienia podczas zamykania pokrywy laptopa?
Odpowiedzi:
Polecenie, którego szukasz, to powercfg. Otwórz wiersz polecenia i wpiszpowercfg –q >poweroptions.txt
Spowoduje to utworzenie pliku tekstowego (poweroptions.txt) ze wszystkimi identyfikatorami GUID dla ustawień zasilania. Otwórz plik poweroptions.txt i znajdź identyfikator GUID dla bieżącego schematu zasilania. Powinien znajdować się na samej górze pliku i będzie wyglądał następująco:
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)
Skopiuj i wklej tylko identyfikator GUID (w tym przykładzie - 381b4222-f694-41f0-9685-ff5bb260df2e
) do nowego pustego pliku tekstowego. Następnie przewiń i znajdź identyfikator GUID podgrupy dla akcji „Przyciski zasilania i pokrywa”. Skopiuj i wklej ten identyfikator GUID do tego samego nowego pliku tekstowego jako osobny wiersz. Teraz znajdź identyfikator GUID ustawienia mocy dla „akcji zamykania pokrywy” i skopiuj i wklej ten jeden pod pozostałymi dwoma. Zwróć także uwagę na numery „Możliwych indeksów ustawień” dla opcji, którą chcesz ustawić (wyłączone jest 000). Będziesz musiał uruchomić polecenie raz dla każdego schematu zasilania, zasilania DC i AC, aby uwzględnić obie sytuacje. Polecenie będzie wyglądać następująco:
Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000
Przetestowałem to i moje polecenie wygląda następująco:
powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000
Drugie polecenie jest, gdy użytkownik jest na baterii i jest dokładnie takie samo, z wyjątkiem tego, że używamy przełącznika –SETDCVALUEINDEX
.
powercfg
wydaje się dobrym przykładem „jak nie pisać narzędzia wiersza poleceń”: /
Temat jest tutaj: Jak wyłączyć tryb uśpienia za pomocą CMD?
Zakładając, że skonfigurowałeś pokrywę laptopa, aby nic nie robić po zamknięciu:
powercfg -x -standby-timeout-ac 0
(jakoś przełącznik -x nie działa dla mnie, więc zmieniłem go na / x i działa. reszta przełączników pozostaje -standby-timeout-ac )
Jak pokazano na stronie Microsoft Technet „Opcje wiersza polecenia Powercfg” ( https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx ), polecenie to:
> wartość ustawienia powercfg -x (wartość, na którą patrzysz, to „czuwanie”)
dlatego: > powercfg -x -standby-timeout-ac minut (wyłącz = 0 minut)
UWAGA: ac = podłączony do zasilania elektrycznego / dc = działa na akumulatorze (więc jeśli chcesz wyłączyć tryb uśpienia podczas pracy na zasilaniu akumulatorowym, zamień „ac” na „dc” w poleceniu, aby wyglądało jak powercfg -x -standby-timeout-dc 0
)
-x
może być to, że był to pełny myślnik, a nie zwykły symbol negatywny.
Na podstawie poprzedniej odpowiedzi napisałem plik wsadowy.
@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
Musisz zmienić %% i na% i, jeśli próbujesz uruchomić te polecenia bezpośrednio w wierszu polecenia (poza partią).
Na podstawie skryptu Jeremy'ego i Jonasa Herdicka napisałem ten skrypt przełączający, który jest niezależny od lokalizacji (więc działa również z niemieckimi oknami) i pomaga mi wyłączyć i przywrócić (do tego, co kiedykolwiek było) działanie zamykania pokrywy podczas umieszczania mojego notebook do stacji dokującej (gdzie pokrywa musi zostać zamknięta). I tak, nie zapomnij ponownie aktywować obecnego schematu mocy po każdej zmianie, jak wspomniano w 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 ma długą stronę na temat powercfg
opcji wiersza poleceń.
Prawdopodobnie będziesz czytał na -x
przełączniku. powercfg
Jednak tylko zmieniałem ustawienia hibernacji.
powercfg
nie ma żadnych opcji zmiany lid close action
. Opcje zasilania są przechowywane w Rejestrze, HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy
ale nie jest jasne, które wartości w danych binarnych pasują do których ustawień.
Jeszcze jedna rzecz. Pamiętaj, aby dodać „powercfg -S% StrOne%” na końcu skryptu, aby aktywować ustawienia. Pozostałe ustawienia zostaną tylko ustawione, ale nie zostaną zapisane / aktywowane.
Wypróbuj NoDoz . Po zainstalowaniu można uruchomić nodoz
z wiersza polecenia cmd (lub terminala PowerShell), aby system nie spał w nieskończoność. Możesz też podać parametr limitu czasu, np. -t 6h13m
Aby program automatycznie zakończył się po upływie dowolnego czasu.