在Windows 7中创建批处理文件以更改电源选项

3
有没有办法创建批处理文件并将其放在桌面上以更改Windows 7中的电源选项?具体来说,我已经将计算机设置为在30分钟后休眠。现在我使用“Serve To Me / Stream To Me”应用程序,我希望能够快速更改电源设置以允许持续操作,然后在使用流媒体应用程序完成后快速更改电源设置回30分钟睡眠。该怎么做?可以这样做吗?
谢谢 Gary

http://superuser.com/questions/90415/prevent-sleep-in-scripts - Tony Hinkle
可能是在Windows XP中使用批处理文件修改电源方案的重复问题。 - Ken White
4个回答

2

创建或修改您想要使用的电源方案。

启动RegEdit并导航到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes

浏览方案并找到您想要使用的GUID(一长串字符)。

创建一个批处理文件,如下所示:

@echo off
powercfg -s (GUID of the Scheme you wish to switch to.)
pause (Optional)

请合理命名批处理文件。

每个需要切换的方案都需要创建一个批处理文件。


1
不必通过RegEdit来查找每个方案的GUID,另一种方法是在命令行上运行以下命令:Powercfg /List - Stan

1
@echo off
setlocal EnableDelayedExpansion

echo Available power schemes:
echo/

set i=0
set "options="
for /F "tokens=2,3 delims=:()" %%a in ('powercfg /L') do if "%%b" neq "" (
   set /A i+=1
   set "options=!options!!i!"
   echo !i!. %%b
   set "scheme[!i!]=%%a"
)

echo/
choice /C %options% /N /M "Select desired scheme: "
powercfg /S !scheme[%errorlevel%]!
echo/
echo Power scheme set

也许您需要更改"tokens=2,3 delims=:()" FOR选项以匹配您的版本或语言环境。我在我的Windows 8.1西班牙语版本中开发了这段代码;这是一个输出示例:
Available power schemes:

1. Certificado ENERGY STAR
2. Alto rendimiento
3. Economizador

Select desired scheme: 1

Power scheme set

1
感谢你们两位的快速回复和解决方案。Lance,我使用了你的方法,因为它更简单,毕竟我不熟悉(完全是新手)命令行编程。以下是可行的代码。
(以下代码关闭了睡眠功能。)
@echo off
powercfg -SetAcValueIndex^
 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c^
 238c9fa8-0aad-41ed-83f4-97be242c8f20^ 
 29f6c1db-86da-48c5-9fdb-f2b67b1f44da^
 000
TIMEOUT /T -1

以下设置睡眠时间为1800秒(30分钟后激活)。
@echo off
powercfg -SetAcValueIndex^
 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c^
 238c9fa8-0aad-41ed-83f4-97be242c8f20^
 29f6c1db-86da-48c5-9fdb-f2b67b1f44da^
 1800
TIMEOUT /T -1.  

感谢再次使用
Gary

@Lance,我该怎么做?我试着按上箭头,但由于我没有15个帖子,所以它不让我这样做。 - zoom38
@Lance,好的,它在那里,我之前看错了。已经为你检查过了。 - zoom38
@Lance,我注意到仅仅那个更改不足以防止我的电脑进入睡眠状态。我相信同时我还需要防止显示器关闭。我有注册表键,但是不知道如何在同一个批处理文件中更改它。我该如何合并代码?附加条目为:7516b95f-f776-4464-8c53-06167f40cc99^ 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e^ 0 - zoom38
我认为你应该创建一个包含所有设置和选项的配置文件,然后只需在不同配置文件之间切换。我不认为你可以合并配置文件。 - Lance
@Lance,我找到了我的错误,我忘记加入方案GUID条目,我只有子项、设置和设置索引。 - zoom38
显示剩余4条评论

0

有一个免费的工具Insomnia可以防止你的Windows进入睡眠状态。它适用于Windows 7/8/10,并附带源代码。

另一种方法是使用命令行工具powercfg。

永不待机:

powercfg -change -standby-timeout-ac 0

15分钟后进入待机状态:

powercfg -change -standby-timeout-ac 15


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接