导读:
分类:技术干货
题目:指令控制windows电源选项
批处理永不休眠...
使用powercfg.exe控制电源计划(也称为电源使用方案)。
一般电源有两种供电模式:
ac代表交流电源
dc代表直流电源
一般情况下ac就是直接接通电源,dc是使用电池供电。
一般电源命令都需要分别设置在ac和dc下的模式。
每个电源选项都有一个唯一的guid标识,我们可以使用某些命令通过这个唯一标识来设定这个电源选项。
例如官方文档中的电源计划:
如图:电源计划 节电,平衡,高性能分别对应了一个guid。
我们可以通过查阅windows文档或者使用
powercfg /query
命令来查询每个选项对应的guid。
powercfg -setactive guid
可以通过-setactive来设置当前电源计划。
例如下面的代码将电源设置为平衡模式
powercfg -setactive 381b4222-f694-41f0-9685-ff5bb260df2e
直接查看控制面板中的电源选项可以看到下面的界面
我们可以通过下面的命令来修改
powercfg -change value
后面的value有如下几个选项
monitor-timeout-ac <分钟>monitor-timeout-dc <分钟>
disk-timeout-ac <分钟>
disk-timeout-dc <分钟>
standby-timeout-ac <分钟>
standby-timeout-dc <分钟>
hibernate-timeout-ac <分钟>
hibernate-timeout-dc <分钟>
monitor:屏幕 disk:磁盘 standby:待机 hibernate:休眠
实例:
powercfg /change monitor-timeout-ac 5
表示:在接通电源模式下设置屏幕5分钟后关闭。
powercfg /change monitor-hibernate-dc 0
表示:在不接通电源模式下永不休眠
还有一些其他选项,例如按下电源按钮,睡眠按钮,关闭盖子等发生的操作。
可以使用如下命令设置:
powercfg /setacvalueindex scheme_GUID sub_GUID setting_GUID setting_indexpowercfg /setdcvalueindex scheme_GUID sub_GUID setting_GUID setting_index
scheme_GUID : 电源计划guid,可以通过powercfg /list查询
sub_GUID:子组guid,可以解释成在众多的电源选项上又分的一层组,可以通过过powercfg /query查询
setting_GUID:选项guid,具体的电源选项。
setting_index:具体设置的索引,如下图:
不采取任何操作,睡眠,休眠,关机
例如:
powercfg -SetAcValueIndex 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0
表示:设置接通电源的情况下,电源关盖后不采取任何操作。
powercfg -SetDcValueIndex 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 1
表示:设置未接通电源的情况下,按下电源键使电脑进入睡眠。
有了这些操作,我们就可以使用某些语言比如node,来批处理windows电源选项了。
更详细的选项可以查询windows官方文档:
https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/powercfg-command-line-options#option_getactivescheme