我有一个批处理文件,可以自动设置计算机在0分钟后进入睡眠状态(也就是从不睡觉)。然后我想把它恢复到以前的状态。我的问题是,在我关闭它之前,我如何将当前的睡眠时间设置为一个变量?提前感谢!
澄清:我是新批的,所以请随意指出一些东西。下面是我当前的脚本:
@echo off
tasklist /v | find "Server" > nul
if errorlevel 1 (
title Server
set "time=[WHAT DO I PUT HERE?]" ::Gather current value for "put the computer to sleep:"
C:
cd C:windowssystem32powercfg.exe -change -standby-timeout-ac 0 ::Set the computer's sleep time to 0 (off)
D:
cd D:/Users/Elijah/Desktop/Tekkit_Server_v1.2.9g/ ::Do tasks
java -Xmx12G -Xms10G -jar Tekkit.jar nogui
cd C:windowssystem32powercfg.exe -change -standby-timeout-ac %time% ::When that's done, change the sleep setting back to what it was before we set it to 0
title Server [STOPPED]
pause
) else ( ::If bad stuff happens
title Server [FAILED]
echo A server is already running
pause
)
我想使用这个脚本与Minecraft服务器进行一些自动化。当我从我的电脑上运行服务器时,我必须在控制面板中将"让电脑进入睡眠状态"设置为0分钟。我已经在脚本中设置了这一点,但现在我的问题是打开自动睡眠并设置为以前的状态。为了做到这一点,我想把这个值存储在一个叫做time
的变量中。我该怎么做呢?
部分答案:
试出powercfg -list
。这将提供一个在您的计算机上保存的能源方案的列表。复制所需模式的ID(如果有多个)。接下来你想要得到另一个ID: powercfg -aliases
你会得到一个GUID的列表和后面的文本。寻找SUB_SLEEP
并复制该ID。
现在运行命令powercfg -q <1stID> <2ndID>
将输出更多列表,您希望在其中查找类似Sleep after
的内容。在它下面应该有Possible Maximum
Possible minimum
这样的值,在该块的下面应该有当前设置的值。
这就是为什么它是一个部分答案…我不知道如何解析输出。但是我相信其他人会帮你的:)