Windows CMD 编写bat脚本 实现电源选项 性能模式 快速切换
Windows CMD 编写bat脚本 实现电源选项 性能模式 快速切换
高性能笔记本在使用过程中常常面临一个两难选择:高性能模式下功耗过高,而节能模式下又会影响使用体验。本文通过编写批处理脚本(bat),实现Windows电源选项的快速切换,让笔记本在高性能与低功耗之间自由切换。
问题:长时间待机与高性能使用功耗的取舍
N100的小主机做nas够用,兼做机顶盒那超高主频体验可就太差了。于是最近换了台8845H的小主机。
做NAS嘛整天开着就要考虑功耗,但是又得兼顾使用体验,于是就在测试何种电源选项和性能模式最为合适
测试了主机自带的 安静——平衡——性能 选项,发现只是单纯锁了54w 65w 70w功耗墙,对待机没有影响。
再去试了试Windows的电源性能选项,这可就试出大问题了
打开任务管理器,非常明显可见的是 节能——平衡——性能 不同的模式限制主频与调度,最低的节能档功耗最低(上图13w就是这个跑的,但是1GHZ超高主频让机子处于近乎不可用)
而后的平衡在15-20w之间徘徊,性能档则为15-45-60W之间跳变(睿频调度激进,就算待机风吹草动都会猛冲60w,显然不适合长待机)
神奇的是Windows电源选项对于desktop来说完全没影响?该往5.5GHZ冲那是一刻都不犹豫的。所以之前也从来没想过电源选项会对laptop性能影响那么大,可能和bios之类也有关系?
编写bat批处理脚本,在使用/闲置时方便的进行切换
众所周知Windows电源选项要打开控制面板找半天(反正有点烦)也没有快捷方式,最多通过搜索功能,但还是要手动调整//
那就发扬运维好文化编写个脚本
基础代码
列出当前/所有电源计划
powercfg /list
现有电源使用方案 (* Active)
-----------------------------------
电源方案 GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (平衡)
电源方案 GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高性能) *
电源方案 GUID: a1841308-3541-4fab-bc81-f71556f20b4a (节能)
设置电源计划
powercfg -setactive <电源计划GUID>
列出当前电源计划
powercfg -getactivescheme
电源方案 GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (平衡)
代码整合为脚本
powermode.bat
chcp 65001
powercfg -getactivescheme | findstr "381b4222-f694-41f0-9685-ff5bb260df2e" && (powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c ) || (powercfg -setactive 381b4222-f694-41f0-9685-ff5bb260df2e )
powercfg -getactivescheme
timeout 6
简单的思路是这样的,检索出当前的电源计划,然后用管道符交给findstr匹配平衡的GUID(根据自己需要修改)
如果匹配成功&&,则设置电源计划为高性能的GUID(平衡转高性能);如果匹配失败||,则设置电源计划为平衡的GUID(高性能转平衡)