首页 > 解决方案 > 如何使用 .bat 文件智能切换电源方案?

问题描述

我正在尝试制作一个智能开关代码,它基本上可以获取电源方案列表来定义哪个是活动的,以便在两个方案之间进行更改。


我做了一些研究并写了这个:

电源配置/列表

如果活动 == b3b9f3ad-d2cd-4a8f-8aae-a99c8d78d9c2 执行 powercfg /s c1d98a88-6636-49fe-a41e-45d639b23933

如果活动 == c1d98a88-6636-49fe-a41e-45d639b23933 做 powercfg /s b3b9f3ad-d2cd-4a8f-8aae-a99c8d78d9c2


*(GUID 是我的电源计划。)

但是由于某种原因,此代码不起作用。


*电源计划信息图片

标签: windowsbatch-filecmd

解决方案


要评估有源电源方案的价值,您需要将其与powercfg /list命令输出隔离开来。这是通过 for /F 循环实现的:

@Echo off
  Set "Scheme1=b3b9f3ad-d2cd-4a8f-8aae-a99c8d78d9c2"
  Set "Scheme2=c1d98a88-6636-49fe-a41e-45d639b23933"
  for /F "Tokens=4 delims= " %%A in ('powercfg /List') Do (
    If /I "%%~A"=="%Scheme1%" (powercfg /s %Scheme2%) Else powercfg /s %Scheme1%
  )


推荐阅读