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

时间:2016-09-21 02:35:09

标签: batch-file sleep-mode powercfg

我有一个批处理文件,可以在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:windows\system32\powercfg.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:windows\system32\powercfg.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的变量中。我该怎么做?

1 个答案:

答案 0 :(得分:1)

部分答案:

试试df$station_3 <- sample(1:1000, nrow(df)) daily2monthly(df, FUN=sum, dates=1) # flow_2 station_3 # Oct-1959 31440.0 132423 # Nov-1959 411.9 149305 # Dec-1959 1199.3 157622 # Jan-1960 4373.0 176413 # Feb-1960 1466.0 143373 # Mar-1960 1904.0 166102 # Apr-1960 741.0 141861 。这将提供计算机上保存的能源方案列表。复制所需模式的ID(如果有多个)。接下来,您想获得另一个ID:powercfg -list您将获得GUID和文本背后的列表。查找powercfg -aliases并复制该ID 现在运行命令SUB_SLEEP将输出更多列表,您可以在其中查找powercfg -q <1stID> <2ndID>之类的内容。在此之下,应该有Sleep after Possible Maximum等值,并在下面的当前设置的块值中。

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