CMDでスリープモードを無効にする方法は?


10

コマンドプロンプトだけで、ラップトップのカバーを閉じるときにスリープモードを無効にすることはできますか?


1
好奇心から、これは純粋に理論的な質問ですか、それともあなたがこれを行う必要がある特定の理由がありますか?それが事実なら、それを達成する他の方法があるかもしれないので、私は尋ねます。
Shinrai

さて、私はそれをリモートで行う必要があり、ラップトップのコマンドプロンプトアクセスのみを持っています。
KB67

1
ラップトップのユーザーに手順を説明するだけの方が簡単ではないでしょうか。iglvzxのコメントは正しいと思います。手動でレジストリを編集しない限り、lidアクションを簡単に変更する方法はありません。
Shinrai

まあ、私は間違っていることが証明されています。powercfgを使用してそれを行う方法はありますが、十分に関与しているので、説明するだけでも簡単かもしれません。
Shinrai

回答:


13

探しているコマンドはpowercfgです。コマンドプロンプトを開き、次のように入力します。powercfg –q >poweroptions.txt

これにより、電源設定のすべてのGUIDを含むテキストファイル(poweroptions.txt)が作成されます。poweroptions.txtファイルを開き、現在の電源設定のGUIDを見つけます。これはファイルの一番上にあり、次のようになります。

Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)

GUIDのみ(この例では- 381b4222-f694-41f0-9685-ff5bb260df2e)をコピーして、新しい空のテキストファイルに貼り付けます。次にスクロールして、「電源ボタンとふた」アクションのサブグループGUIDを見つけます。このGUIDをコピーして、同じ新しいテキストファイルに別の行として貼り付けます。次に、「Lid close action」の電源設定GUIDを見つけ、それをコピーして他の2つの下に貼り付けます。設定するオプションの「可能な設定インデックス」番号にも注意してください(無効は000)。両方の状況をカバーするために、各電源設定、DCおよびAC電源に対して1回コマンドを実行する必要があります。コマンドは次のようになります。

Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000

私はこれをテストし、私のコマンドは次のようになります:

powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000

2番目のコマンドは、ユーザーがバッテリーを使用しているときのもので、スイッチを使用することを除いてまったく同じ–SETDCVALUEINDEXです。

詳細は、Microsoftの公式のPowercfgコマンドラインオプションページをご覧ください。


こんにちはデビッド-私はマイクロソフトがこのようなサイトでアウトリーチをしている人々を持っているのを見てうれしいです、それは励みになります。Stack Exchangeサイトで投稿に署名する必要はありませんが、実際には非推奨です。これがユーザーバッジの目的です。
Shinrai

Shrinrai申し訳ありませんが、私は毎日多くの異なるフォーラムにアクセスしていますが、すべての機能をまっすぐに保つことは困難です。ユーザーバッジを確認します。
dwolters

1
powercfg「コマンドラインツールを作成しない方法」の良い例のようです:/
Martin von Wittich '28

7

ここでのトピックは、CMDを介してスリープモードを無効にする方法ですか?

閉じたときに何もしないようにラップトップのふたを構成したと仮定します。

powercfg -x -standby-timeout-ac 0

(どういうわけか、スイッチ-xが機能しないため、/ xに変更して機能します。残りのスイッチは-standby-timeout-acのままです

MicrosoftのTechnetページ「Powercfg Command-Line Options」(https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx)に示されているように、コマンドは次のとおりです。

> powercfg -x設定値 (表示している値は「スタンバイ」です)

したがって: > powercfg -x -standby-timeout-ac minutes(disable = 0 minutes)

注:ac =電力に接続されています/ dc =バッテリーで動作します(バッテリー電源で動作しているときにスリープモードを無効にする場合は、コマンドの「ac」を「dc」に置き換えてくださいpowercfg -x -standby-timeout-dc 0)。


1
これは、Win 7とWin 10で機能します。唯一の要件-管理者としてCMDを実行する。
TPAKTOPA 2017

1
の問題-xは、それが通常の負の記号ではなく、完全なダッシュであったことかもしれません。
Joel Coehoorn 2017

2

以前の回答に基づいて、バッチファイルを作成しました。

@echo off

for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "Power Scheme GUID:"') do Set StrOne=%%i
for /f "tokens=3 delims= " %%i IN ('powercfg -q ^| find "(Power buttons and lid)"') do Set StrTwo=%%i 
for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "(Lid close action)"') do Set StrThree=%%i 

powercfg -SETACVALUEINDEX %StrOne% %StrTwo% %StrThree% 000

これらのコマンドをコマンドプロンプト(バッチの外)で直接実行する場合は、%% iを%iに変更する必要があります。


1

JeremyとJonas Herdickのスクリプトに基づいて、このトグルスクリプトを作成しました。これはローカリゼーションに依存せず(ドイツ語版のウィンドウでも機能します)、私が置くときにふたを閉じる動作を無効にして(以前の状態に)戻すのに役立ちますドックへのノートブック(ふたを閉じる必要がある場所)。そして、はい、KallePowerが述べたようにすべての変更後に現在のpowerschemeを再アクティブ化することを忘れないでください

@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=:(" %%i in ('powercfg /GETACTIVESCHEME') do set ACTIVESCHEME=%%i
for /f "tokens=2 delims=:(" %%i in ('powercfg -q %ACTIVESCHEME% SUB_BUTTONS LIDACTION ^| findstr "[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*"') do set FULLPATH=!FULLPATH! %%i
for /f "tokens=2 delims=:(" %%i in ('powercfg /q %FULLPATH% ^| findstr "[0-9]x[0-9]*"') do (
    set CURRENTSETTINGAC=!CURRENTSETTINGDC!
    set CURRENTSETTINGDC=%%i
)
set CURRENTSETTINGAC=%CURRENTSETTINGAC:~-1%
set CURRENTSETTINGDC=%CURRENTSETTINGDC:~-1%
powercfg -SETACVALUEINDEX %FULLPATH% 0
powercfg -SETDCVALUEINDEX %FULLPATH% 0
powercfg /s %ACTIVESCHEME%
pause
powercfg -SETACVALUEINDEX %FULLPATH% %CURRENTSETTINGAC%
powercfg -SETDCVALUEINDEX %FULLPATH% %CURRENTSETTINGDC%
powercfg /s %ACTIVESCHEME%

1
REM Disabling all Sleep Parameters

@echo off

powercfg /x -hibernate-timeout-ac 0

powercfg /x -hibernate-timeout-dc 0

powercfg /x -disk-timeout-ac 0

powercfg /x -disk-timeout-dc 0

powercfg /x -monitor-timeout-ac 0

powercfg /x -monitor-timeout-dc 0

Powercfg /x -standby-timeout-ac 0

powercfg /x -standby-timeout-dc 0

Pause

0

Microsoftは長い持っているページをpowercfgコマンドラインオプションあります。

あなたはおそらく-xスイッチについて読んでいるでしょう。powercfgただし、休止状態の設定を変更するためにのみ使用しました。


1
powercfgを変更するためのオプションはありませんlid close action。電源オプションはレジストリの下に格納されてHKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicyいますが、バイナリデータのどの値がどの設定に対応しているかは不明です。
iglvzx 2011

フィードバックをお寄せいただきありがとうございます。私は確信が持てませんでしたが、Davidと同じ場所にリンクできてうれしいです:-)

0

もう一つ。スクリプトの最後に「powercfg -S%StrOne%」を追加して、設定を有効にすることを忘れないでください。その他の設定は設定されるだけで、保存/アクティブ化されません。


0

NoDozをお試しください。インストールしたらnodoz、cmdプロンプト(またはPowerShellターミナル)から実行して、システムが無期限にスリープしないようにすることができます。または、タイムアウトパラメータを渡して-t 6h13m、任意の時間後にプログラムを自動的に終了させることもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.