1

我编写了一个批处理文件,该文件使用 powercfg 导入自定义电源计划。它可以工作,但在运行脚本后,我必须进入 Windows 电源计划并手动选择计划以使其处于活动状态。

如果可以在批处理文件中完成选择,我更愿意,但是由于每次导入都会更改 GUID,因此我不能在批处理文件中使用 GUID。

激活新导入的电源计划的最佳 powercfg 语法是什么?我的最终目标是让最终用户能够运行批处理文件而无需输入命令提示符。

我喜欢 findstr 方法。我一定是做错了什么,因为电源计划没有更改为我的导入计划。我在这里做错了什么?太感谢了!

@echo off

powercfg -import "%UserProfile%\Desktop\Powercfg CMIT Defalut\CMIT Win10 Power Plan.pow" 2> __error__.txt

if %errorlevel% NEQ 0 (
  echo Failed 
  type __error__.txt
) else (
    echo .
)
pause

for /f "tokens=4" %f in ('powercfg -list ^| findstr /C:"CMIT Win10 Power Plan"') do set GUID=%f 
4

3 回答 3

1

此命令捕获当前活动的电源计划

for /f "tokens=4 skip=1" %%f in ('powercfg -list ^| findstr \*') do set GUID=%%f
echo %GUID%

描述:

powercfg 的输出给出了这个:

C:\temp\Batches>powercfg -list

Existing Power Schemes (* Active)
-----------------------------------
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (HP Recommended) *
Power Scheme GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (High performance)
Power Scheme GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (Power saver)

查找带星号的行。

C:\Users\Paul>powercfg -list | findstr \*
Existing Power Schemes (* Active)
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (HP Recommended) *

循环输出,跳过第一行,抓取第四个标记,将其保存到 guid 环境变量。

for /f "tokens=4 skip=1" %%f in ('powercfg -list ^| findstr \*') do set GUID=%%f

或者,您可以通过将参数更改为按名称搜索findstr

for /f "tokens=4" %%f in ('powercfg -list ^| findstr /C:"Power saver"') do set GUID=%%f 

这已经提取了 GUID。要激活计划,请执行以下操作:

powercfg /setactive %GUID%
于 2016-09-27T11:22:42.463 回答
0

我在导入时更改 GUID 时遇到了同样的问题,但了解到只有在导入时未在文件名后指定 GUID 时它才会更改。这对我有用:

powercfg /import c:\temp\Power\NeverSleep.pow a81a33c9-6d83-493e-a38d-d5fa3c620915
powercfg /setactive a81a33c9-6d83-493e-a38d-d5fa3c620915 
于 2020-05-23T22:54:58.017 回答
0

你可以让事情变得更容易。首先安装不同的模式,然后添加新模式并使其处于活动状态。这里举个例子——

powercfg -restoredefaultschemes
POWERCFG -SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
copy "powersheme\\weg.pow" "C:\\weg.pow"
POWERCFG -DELETE 381b4222-f694-41f0-9685-ff5bb260df2e
pause
POWERCFG -IMPORT C:\weg.pow 381b4222-f694-41f0-9685-ff5bb260df2e
del C:\weg.pow
POWERCFG -SETACTIVE 381b4222-f694-41f0-9685-ff5bb260df2e
msg * power sheme instal
pause

他本人最近对在 200 pc 上一次更改设置感到困惑)))

于 2018-03-10T17:55:47.583 回答