2016-09-21 1 views
-2

私は0分後に自動的にコンピュータをスリープ状態にするバッチファイルを持っています。それから私はそれを以前のものに戻したいと思っています。私の質問は、私はそれをオフにする前に、変数に現在のスリープ時間を設定する方法です?前もって感謝します!powercfg.exe(バッチ)からpcの自動スリープ時間を読むには

説明:私は一括して新しくなっていますので、物事を指摘することは自由です。ここに私の現在のスクリプトがあります:

@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という変数に値を格納したいと思っています。どうすればいい?

+2

私たちはあなたがバッチコードが必要です!だから[あなたの質問を編集](http://stackoverflow.com/posts/39606633/edit)と投稿! – Hackoo

答えて

1

部分的な答え:

powercfg -listを試してみてください。これはあなたのコンピュータに保存されているエネルギー計画のリストを提供します。必要なモードのIDをコピーします(複数ある場合)。次に別のIDを取得したい:powercfg -aliases GUIDとその背後にあるテキストのリストが表示されます。 SUB_SLEEPを探し、そのIDもコピーします。
コマンドpowercfg -q <1stID> <2ndID>を実行すると、Sleep afterのようなものを探したい場所がさらに表示されます。その下には、現在の設定のブロック値にPossible MaximumPossible minimumのような値があります。

これは部分的な答えです...私はどのように出力を解析するのか分かりません。しかし、私は他の誰かがそれをあなたを助けることを確信しています:)

関連する問題