Batch file 使用powercfg复制和编辑电源设置

Batch file 使用powercfg复制和编辑电源设置,batch-file,console,powercfg,Batch File,Console,Powercfg,我想在Windows中使用powercfg工具复制我当前的电源方案,然后使用批处理文件更改新方案(使我能够在出现问题时恢复到旧方案) 我知道powercfg-getactivescheme将返回当前方案的GUID powercfg-setactive[GUID]将为当前方案设置一个GUID,但我如何知道要使用哪个GUID?也就是说,我如何知道复制方案的新GUID是什么?在我的机器上执行powercfg-l,将返回以下结果: Existing Power Schemes (* Active) --

我想在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%

在我的机器上执行
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%