如何通过 CMD 禁用睡眠模式?

如何通过 CMD 禁用睡眠模式?

仅使用命令提示符,是否可以在关闭笔记本电脑盖子时禁用睡眠模式?

答案1

您要查找的命令是 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

这是 Microsoft 的官方 Powercfg 命令行选项页面,可供进一步参考。

答案2

这里的主题是如何通过 CMD 禁用睡眠模式?

假设您已将笔记本电脑的盖子配置为关闭时不执行任何操作:

powercfg -x -standby-timeout-ac 0

(不知何故开关-X对我来说不起作用所以我把它改成了/X并且它起作用了。其余的开关保持不变待机超时交流电

如 Microsoft Technet 页面“Powercfg 命令行选项”所示(https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx),命令为:

> powercfg -x 设置值 (您看到的值是“待机”)

所以: > powercfg-x-待机超时交流分钟(禁用 = 0 分钟)

笔记:交流电= 已接通电源 /直流= 使用电池供电(因此,如果您想在使用电池供电时禁用睡眠模式,请在命令中将“ac”替换为“dc”,这样它看起来像powercfg -x -standby-timeout-dc 0

答案3

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

答案4

基于 Jeremy 和 Jonas Herdick 的脚本,我编写了这个切换脚本,它与本地化无关(因此也适用于德语窗口),并帮助我禁用和恢复(与之前的情况不同)将笔记本放入底座时(盖子需要关闭)盖子关闭。是的,不要忘记在每次更改后重新激活当前的电源方案,就像 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%

相关内容