如何从powercfg.exe(批处理)中读取pc的自动休眠时间



我有一个批处理文件,可以自动设置计算机在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这样的值,在该块的下面应该有当前设置的值。

这就是为什么它是一个部分答案…我不知道如何解析输出。但是我相信其他人会帮你的:)

相关内容

  • 没有找到相关文章

最新更新