我想使用Windows中的powercfg工具来复制我当前的电源方案,然后使用批处理文件更改新方案(如果我搞砸了什么,使我能够恢复到旧方案)。
我知道powercfg -getactivescheme
将返回当前方案的GUID
powercfg -setactive [GUID]
将为当前方案设置GUID,但是我如何知道使用哪个GUID呢?也就是说,我如何知道复制方案的新GUID是什么?
在我的机器上执行powercfg -l
返回以下内容:
Existing Power Schemes (* Active)
-----------------------------------
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)
Power Scheme GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (High performance) *
Power Scheme GUID: a1841308-3541-4fab-bc81-f71556f20b4a (Power saver)
然后,当您用powercfg -duplicatescheme 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
复制当前活动方案时,输出如下:
Power Scheme GUID: d0b7e1f3-c9ed-49d1-93d4-6ed688244dea (High performance)
在我看来,从powercfg -duplicatescheme
命令中捕获tokens=4
将获得您的备份方案的GUID。
@echo off
setlocal
rem get current scheme
for /f "tokens=4" %%I in ('powercfg -getactivescheme') do set current=%%I
rem create backup
for /f "tokens=4" %%I in ('powercfg -duplicatescheme %current%') do set backup=%%I
rem switch to backup
powercfg -setactive %backup%
echo Switched from %current% to %backup%