コマンドプロンプトまたは[ 実行 ]メニューから、あらゆる種類のアプリケーションを開くなど、Windowsのほとんどすべてを実行できることを知っています。
コンピューターをスリープ状態にしたりシャットダウンしたりするにはどうすればよいですか?そのためのコマンドは何ですか?
コマンドプロンプトまたは[ 実行 ]メニューから、あらゆる種類のアプリケーションを開くなど、Windowsのほとんどすべてを実行できることを知っています。
コンピューターをスリープ状態にしたりシャットダウンしたりするにはどうすればよいですか?そのためのコマンドは何ですか?
回答:
あなたはshutdown.exe
あなたの友達であることがわかります。
他の便利なコマンドはこの投稿を参照してください:
スリープコンピューター(https://superuser.com/a/463652/249349で詳細を読む)
ロックワークステーション
休止状態のコンピューター
see answers by Scott Chamberlain and Eric L
コンピューターを再起動
Shutdown.exe -r -t 00
コンピューターのシャットダウン
Shutdown.exe -s -t 00
編集/更新:
休止状態がオンになっていると、コンピューターをスリープ状態にすることが問題になるようです。
他の回答からのコピー:
PsShutdown または次のいずれかを試すことができます。
コマンドrundll32.exe powrprof.dll、SetSuspendState 0,1,0 for sleep-ただし、休止状態をオフにしないと、スリープの代わりに休止状態になります。
その方法は次のとおりです。
[スタート]メニューに移動し、cmd.exeと入力して右クリックし、[管理者として実行]を選択して、昇格したコマンドプロンプトを開きます。次のコマンドを入力します。
powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
は、ITが正常に機能しないことです。SetSuspendState
コンピュータを一種のハイブリッドスリープ/ハイバネーションモードにします。[スタート]メニューの[スリープ]ボタンを使用すると、キーボードの任意のキーを押すことにより、コンピューターをスリープ状態から再開できます。このコマンドラインを使用すると、makeはスリープ状態が深いため再開が非常に遅くなり、コンピュータの電源ボタンを押した場合にのみ再開できます。キーを押しても再開できません。だから...どのように通常のスタンバイのようにスリープさせるのですか?キーを押すと再開できますか?
rundll32
SetSuspendState
その署名はによって期待されるものと一致しないため、呼び出しには使用しないでくださいrundll32
。参照:support.microsoft.com/en-us/kb/164787およびmsdn.microsoft.com/en-us/library/windows/desktop/…最初のパラメーターは、FALSE値ではなくガベージを取得します。それが、スリープ状態になる代わりに休止状態になる理由です。
コンピューターで休止状態が有効になっている場合、他の人によって投稿されたメソッドは正しく機能しません。コンピューターはキーボードで起動せず、さらに重要なこととして、スケジュールされたタスクで起動しません。
MicrosoftのSysinternalsツールの1つは、コンピューターである休止状態ではなく、正しくスリープするコマンドを使用したPsShutdownです。psshutdown -d -t 0
run as administrator
、右クリックオプション
psshutdown.exe
、PsToolsをダウンロードして、アーカイブからコピーする必要がありますC:\Windows\System32
。psshutdown -d -t 0
一時停止するには、管理者権限で実行する必要があります。これは、Windowsにプリインストールされたツールを使用しない場合でも、質問に回答するため、受け入れられた回答である必要があります。
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
スリープのコマンドは正しいですが、休止状態をオフにしないと、スリープの代わりに休止状態になります。
その方法は次のとおりです。
[スタート]メニューに移動し、入力cmd.exe
して右クリックし、[ 管理者として実行 ]を選択して、昇格したコマンドプロンプトを開きます。次のコマンドを入力します。
powercfg -hibernate off
powrprof.dll
休止状態がオンのときのですか?ただ知りたいです。ACPIの状態に関連していますか?
rundll32
SetSuspendState
その署名はによって期待されるものと一致しないため、呼び出しには使用しないでくださいrundll32
。参照:support.microsoft.com/en-us/kb/164787およびmsdn.microsoft.com/en-us/library/windows/desktop/…最初のパラメーターは、FALSEではなくガベージを取得します。それが、スリープ状態になる代わりに休止状態になる理由です。
NirCmdはWindows 8で動作します(Windows 7でも動作すると仮定します)→ http: //www.nirsoft.net/utils/nircmd.html
コマンドはstandby
ですが、コンピューターをスリープ状態にします。
nircmd.exe standby
ハイブリッドスリープを有効にしている場合、機能します。つまり、コンピューターをスリープ状態にし、電源が失われた場合にメモリをディスクにコピーします。
Wizmoの無料ユーティリティをご覧ください。これは非常に多くのことを実行できます。
あなたが探しているコマンドはおそらく:
ウィズモスタンバイ
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
があります-コンピューターをスリープ状態ではなく休止状態にします
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
(0,0,0でも試してみました)のショートカットを作成しましたが、ショートカットを実行するとPCが休止状態になったようです。キーボードを使用してPCを起動できませんでした。電源ボタンを押す必要があり、PCはメインボードのポストメッセージなどを表示しました。
Windows APIドキュメントを読んだ後、たった3行の入力で非常に簡単なプログラムを作成しました。コンパイルした実行可能ファイルをこのページにアップロードしました( "SleepTest.exe"をクリックします)が、このファイルはしばらくすると削除される可能性があります(これは簡単なGoogle検索で見つけた無料のファイルホスティングサイトです)。
私を信用していない場合(まったく問題ありません)、またはファイルが削除されている場合は、もちろん自分でコードをコンパイルできます。リンカーの追加の依存関係に「PowrProf.lib」を追加する必要があります。
#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.
int main()
{
SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
return 0;
}
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
同じことをしているように見えますが、どういうわけか、上記のプログラムはコンピュータを休止状態にしませんでした。キーボードの任意のキーを押すと、PCを即座に起動できます(メインボードのポストメッセージなどはありません)。
以下で指定され、この記事で参照されているように、コマンドラインからサスペンドまたは休止状態のオプションを開始できます。
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
コンピューターが休止状態を許可するように設定されている場合、上記のコマンドは休止状態を開始します。休止状態機能が無効になっている場合、スタンバイ状態になります。他のユーザーが以前に回答したshutdown.exe /?
ように、多くのシャットダウンオプションを提供します。
rundll32
SetSuspendState
その署名はによって期待されるものと一致しないため、呼び出しには使用しないでくださいrundll32
。参照:support.microsoft.com/en-us/kb/164787およびmsdn.microsoft.com/en-us/library/windows/desktop/…最初のパラメーターはFALSEではなくガベージを取得するため、常に移動する代わりに休止状態になります睡眠。
最初にWindowsでHibernateを無効にしてから、コンピューターをスリープ状態にする必要があります。次の2つのコマンドを使用します。
powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
逆のアクションを実行するには、コンピューターを休止状態にし、以下のコマンドを使用します。
powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate
rundll32
呼び出しSetSuspendState
を目的としていないため、これには使用しないでください。最初のパラメーターは正しい値ではなくガーベッジを取得します。そのため、スリープ状態になるのではなく、常に休止状態になります(休止状態をまったく無効にしていない場合)。
Python(pywin32を使用)を使用できる場合は、次のコマンドでSetSuspendState関数を直接呼び出すこともできます。
import ctypes
ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)
これは、バッチファイルまたは次のようなショートカットに簡単に入れることができます。
pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)"
そのため、インタープリターに関連付けられた.pyファイルがない場合は、リンクをダブルクリックするだけです。
質問のシャットダウン部分は誰にとっても明らかです。
shutdown.exe /?
シャットダウン/再起動/詳細オプションブート/ファームウェアブートのすべての選択肢を表示します。
しかし、睡眠の部分についてはあまりにも多くのバッシングが見られます。
誰もがrundll32.exe
ランダム関数を呼び出すために使用されるべきではないことを取得し、偶然完全に休止状態のためにここで動作します。しかし、それがWindowsの性質です。人々がぶらぶらし、仕事を終わらせるために何百もの回避策を見つけたブラックボックスです(一口メモ)。
外部ツールを提案する非常に多くの「適切な」ソリューションがありますが、この質問が長年にわたって活発であったとしても、ネイティブ(ハイブリッド/ピンボーク/なんでも)のバッチスクリプトを見つけることができないようです。
だからここに私の単純なpower_sleep.batがあります:
@echo off &mode 32,2 &color cf &title Power Sleep
set "s1=$m='[DllImport ("Powrprof.dll", SetLastError = true)]"
set "s2=static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);"
set "s3=public static void PowerSleep(){ SetSuspendState(false, false, false); }';"
set "s4=add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"
set "ps_powersleep=%s1%%s2%%s3%%s4%"
call powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -Command "%ps_powersleep:"=\"%"
exit
大きな1行のコマンドとしても機能します。
powershell.exe -C "$m='[DllImport(\"Powrprof.dll\",SetLastError=true)]static extern bool SetSuspendState(bool hibernate,bool forceCritical,bool disableWakeEvent);public static void PowerSleep(){SetSuspendState(false,false,false); }';add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"