![如何通过命令提示符/运行菜单让计算机进入睡眠状态?](https://linux22.com/image/1215866/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%2F%E8%BF%90%E8%A1%8C%E8%8F%9C%E5%8D%95%E8%AE%A9%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BF%9B%E5%85%A5%E7%9D%A1%E7%9C%A0%E7%8A%B6%E6%80%81%EF%BC%9F.png)
我知道 Windows 上的几乎所有操作,比如打开任何类型的应用程序,都可以从命令提示符或从跑步菜单。
我怎样才能让我的电脑睡觉或者关掉它?那命令是什么?
答案1
你会发现shutdown.exe
他是你的朋友。
其他方便的命令见这邮政:
睡眠电脑(阅读更多https://superuser.com/a/463652/249349)
锁定工作站
重启计算机
Shutdown.exe -r -t 00
关闭计算机
Shutdown.exe -s -t 00
编辑/更新:
如果打开了休眠模式,让计算机进入睡眠状态似乎会出现问题。
从其他答案复制:
您可以尝试关机 或者:
用于睡眠的命令 rundll32.exe powrprof.dll,SetSuspendState 0,1,0 是正确的 - 但是,如果您不关闭休眠模式,它将进入休眠而不是睡眠状态。
具体操作如下:
转到“开始”菜单,输入 cmd.exe,右键单击并选择“以管理员身份运行”,打开提升的命令提示符。输入以下命令:
powercfg -hibernate off
答案2
如果计算机启用了休眠模式,其他人发布的方法将无法正常工作,计算机将无法通过键盘唤醒,或者更重要的是,无法通过计划任务唤醒。
Microsoft 的 Sysinternals 工具之一是关机使用命令psshutdown -d -t 0
它将正确休眠,不冬眠, 一台电脑
答案3
睡眠命令rundll32.exe powrprof.dll,SetSuspendState 0,1,0
是正确的 - 但是,如果您不关闭休眠模式,它将进入休眠而不是睡眠状态。
具体操作如下:
转到“开始”菜单,然后通过键入cmd.exe
、右键单击并选择来打开提升的命令提示符以管理员身份运行. 输入以下命令:
powercfg -hibernate off
答案4
问题的关机部分对每个人来说都很清楚。
shutdown.exe /?
显示关机/重启/高级选项启动/固件启动的所有选择。
但是我看到关于睡眠部分的批评太多了。
每个人都知道它rundll32.exe
不应该用来调用随机函数,而它在这里完全是巧合地适用于休眠。但这就是 Windows 的本质 - 一个黑匣子,人们已经探索过并找到了数百种解决方法来完成工作(向 dostips 致敬)。
有这么多 ”恰当的“解决方案提出外部工具,但我似乎找不到本机(混合/ pinvoke / 等等)批处理脚本,即使这个问题多年来一直存在。
所以这是我的简单电源睡眠:
@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
它甚至可以作为一个大的单行命令来工作:
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();"