2009-09-11 10:16:21 +0000 2009-09-11 10:16:21 +0000
63
63

コンピュータをスリープ状態にする(ハイバネートではない)ために使用するコマンドは何ですか?

Windows PC(Windows 7)をコマンドライン経由でスリープ状態にしたいのですが(キーボードのマクロボタンにバインドできるようにするため)、PCの電源ボタンがスリープ状態になるように設定されています。

PCの電源ボタンは、コンピュータをスリープ状態にするように設定されていますが(でも床に置いてあるので、手を伸ばすのが億劫なので)、私が望む方法でスリープ状態にします(電源が切れた場合に備えてハイブリッドモードでスリープします)

シャットダウンメニューのスリープコマンドも動作します。

%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0

しかし、これはコンピュータをハイバネートモードにします。ハイバネートは無効にしていますが、ハイブリッドスリープを使用しています。

0x1&

しかし、これではコンピュータをハイバネートモードにしてしまいます。

回答 (8)

73
73
73
2010-09-15 03:25:22 +0000

これらが役に立つことを願っています。

シャットダウン %windir%\System32\shutdown.exe -s

再起動 %windir%\System32\shutdown.exe -r

ログオフ %windir%\System32\shutdown.exe -l

スタンバイ %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby ハイバネート %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate

注意。注意: powerprof.dllの起動にはrundll32.exeを使用しないでください. 代わりにSetSuspendStateを直接呼び出す必要があります。これはPowershellを使用して行うことができます - 例えば、以下の内容のsleep.ps1というファイルを作成してください。

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

次にpowershell -File C:\your-path\sleep.ps1を使って実行します。パワーシェルスクリプトの実行を有効にするには、まず Set-ExecutionPolicy RemoteSigned コマンドを実行する必要があるかもしれません。

上記のスクリプトはシステムサスペンドを引き起こし、現在のハイバネート設定に応じてスリープまたはハイバネートを行います。その設定をコマンドラインから変更するには、管理者としてコマンドラインから powercfg -h off (または on) を実行してください。

16
16
16
2009-09-11 10:38:59 +0000

非常に多くのことができる Wizmo の無料ユーティリティを見てみましょう。
あなたが探しているコマンドはおそらく

wizmo standby

14
14
14
2011-06-29 18:56:07 +0000

sleep.ps1」のような拡張子.ps1(powerershell)のファイルを作って、以下のように書きます。

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)
$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

私は何かを実行していて、PCから離れる必要があり、電源を切りたくないときにこれを使います。そこで、スクリプトを次のように変更します。

powershell -File C:\your-path\sleep.ps1

そして、これを実行するときに、スリープまで待ちたい分数を入力するだけです。

Set-ExecutionPolicy RemoteSigned

と書くことでcmdラインから実行できます。 PowerShellスクリプトを実行したことがない場合は、まずPowerShellで

0x1&

を実行してスクリプトの実行を有効にします。これは一度だけ実行する必要があります。

13
13
13
2010-05-28 19:01:38 +0000

解決策を見つけました。AutoHotKeyというフリーウェアのプログラムをインストールし、Start Menu -> Sleepを呼び出す手順をスクリプトファイルに記録しました。そして、スクリプトファイルをスタンドアロンの実行ファイルSleepWin7.exeにまとめました。

今は単にSleepWin7.exeを実行して、コンピュータをハイブリッドスリープにしています。

必要なのはこれだけであれば、AutoHotKeyをアンインストールしてもいいかもしれません。


更新: 上記の解決策は、ユーザーがログインしていない場合、つまりWindows 7のログイン画面では機能しません。(私のコンピュータは毎週日曜日の午前4時に起きて毎週のバックアップを実行していますが、これはユーザーのログインなしで実行されます)。このような場合でも、 Wizmo プログラムは動作します。

wizmo.exe quiet standby!

11
11
11
2012-06-20 19:25:37 +0000

Sysinternals PsTools** [ ダウンロード]を使用しています。

psshutdown -d

コマンドラインツール PsShutdown を使用してください。

(すでに PsTools をダウンロードしている場合は、この方法が良いかもしれません。それ以外では、この方法は wizmo quiet standby を使うのと同じです。)

ソース。 https://superuser.com/a/331545/21887

7
7
7
2012-10-10 04:25:06 +0000

私はこの SLEEP.EXE ユーティリティを何年も使ってきました。これはよく動くし、サスペンドモード(デフォルトでは “sleep "の形をしている)にどのような引数を与えればいいのかを覚える必要がない。

5
5
5
2010-12-16 17:25:46 +0000

バットファイルを作成します。

ping -n 600 -w 1 127.0.0.1.1 ➡ nul

powercfg -h off

%windir%System32\rundll32.exe powrprof.dll,SetSuspendState Standby

4
4
4
2010-09-15 00:55:39 +0000

.NETプログラムをコンパイルする能力があれば、以下の コマンド で実行できます

System.Windows.Forms.Application.SetSuspendState(PowerState.Suspend, 
                                                 false, /* force */
                                                 true /* disableWake */);

注意: rundll32 powrprof.dll,SetSuspendStateコマンドで要求されるようにハイバネーションを無効にする必要はありません。必要であれば、マシンをハイバネーションする PowerState.Hibernate を使用することもできます。

このコマンドを使用すると、 Visual Studio のどのバージョンでも簡単にEXEをコンパイルすることができます。コンソールアプリケーションを作成し、System.Windows.Forms DLLへの参照を追加するだけです。