Batch file Powercfg从cmd行进行的更改不起作用

Batch file Powercfg从cmd行进行的更改不起作用,batch-file,powercfg,Batch File,Powercfg,因此,我试图获得一个bat文件以及我想要应用的电源设置。但我遇到了一个问题。由于某些原因,电源按钮和盖关闭动作不会改变。以下是bat的相关代码: set pf=powercfg set av=setacvalueindex set pm=8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c rem lid close %pf% /%av% %pm% 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b

因此,我试图获得一个bat文件以及我想要应用的电源设置。但我遇到了一个问题。由于某些原因,电源按钮和盖关闭动作不会改变。以下是bat的相关代码:

set pf=powercfg
set av=setacvalueindex
set pm=8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

rem lid close
%pf% /%av% %pm%    4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 003
rem power button
%pf% /%av% %pm%    4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 003
rem sleep button                                                        
%pf% /%av% %pm%    4f971e89-eebd-4455-a8de-9e59040e7347 96996bc0-ad50-47ec-923b-6f41874dd9eb 003

%pf% -setactive %pm%
pause    
以及powercfg-query的一些相关输出:

Subgroup GUID: 4f971e89-eebd-4455-a8de-9e59040e7347  (Power buttons and lid)
 GUID Alias: SUB_BUTTONS
  Power Setting GUID: 5ca83367-6e45-459f-a27b-476b1d01c936  (Lid close action)
    GUID Alias: LIDACTION
    Possible Setting Index: 000
    Possible Setting Friendly Name: Do nothing
    Possible Setting Index: 001
    Possible Setting Friendly Name: Sleep
    Possible Setting Index: 002
    Possible Setting Friendly Name: Hibernate
    Possible Setting Index: 003
    Possible Setting Friendly Name: Shut down
  Current AC Power Setting Index: 0x00000003
  Current DC Power Setting Index: 0x00000003   
如您所见,盖关闭动作现在已正确设置,其他两个也是如此。然而,当我进入控制面板,它仍然说睡眠


有人知道发生了什么吗?

这对我来说很有效,用于盖子操作,无需重新启动:

powercfg -setacvalueindex SCHEME_BALANCED SUB_BUTTONS LIDACTION 003

你重启了吗。许多注册表项只有在启动或登录时才被读取。@Bambilonggo我没有,但我现在要试一试。然而,我的印象是-setactive将消除重新启动的需要,这将取决于是否有API调用来实现这一点。大多数资源管理器设置(文件夹设置除外)都是在启动时读取的,只有在完全关闭的情况下才会在关闭时写入。内核是相似的。您需要使用API调用来影响注册表数据的内存副本,或者重新启动/重新启动应用程序以重新读取更改的值。@BambiLongGone!只是想让你知道,我又试了一次。这些设置会立即更改:方案计划、亮度设置、关闭显示器以及使计算机进入睡眠状态。只有两个没有改变的是关闭盖子和电源按钮设置。重新启动后,它们保持不变,即使-query将它们显示为设置为003。