コマンドプロンプトだけで、ラップトップのカバーを閉じるときにスリープモードを無効にすることはできますか?
コマンドプロンプトだけで、ラップトップのカバーを閉じるときにスリープモードを無効にすることはできますか?
回答:
探しているコマンドは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
です。
powercfg
「コマンドラインツールを作成しない方法」の良い例のようです:/
ここでのトピックは、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
)。
-x
は、それが通常の負の記号ではなく、完全なダッシュであったことかもしれません。
以前の回答に基づいて、バッチファイルを作成しました。
@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に変更する必要があります。
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%
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
Microsoftは長い持っているページを上powercfg
コマンドラインオプションあります。
あなたはおそらく-x
スイッチについて読んでいるでしょう。powercfg
ただし、休止状態の設定を変更するためにのみ使用しました。
powercfg
を変更するためのオプションはありませんlid close action
。電源オプションはレジストリの下に格納されてHKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy
いますが、バイナリデータのどの値がどの設定に対応しているかは不明です。
もう一つ。スクリプトの最後に「powercfg -S%StrOne%」を追加して、設定を有効にすることを忘れないでください。その他の設定は設定されるだけで、保存/アクティブ化されません。
NoDozをお試しください。インストールしたらnodoz
、cmdプロンプト(またはPowerShellターミナル)から実行して、システムが無期限にスリープしないようにすることができます。または、タイムアウトパラメータを渡して-t 6h13m
、任意の時間後にプログラムを自動的に終了させることもできます。