仅使用命令提示符,是否可以在关闭笔记本电脑盖子时禁用睡眠模式?
答案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
。
答案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%