用于使计算机进入睡眠状态(不是休眠状态)的命令是什么?

Eri*_*c L 63 windows windows-7 command-line

我想通过命令行使我的 Windows PC(Windows 7)进入睡眠状态(这样我就可以绑定到键盘上的宏按钮)。

PC 上的电源按钮设置为但计算机进入睡眠状态(但它在地板上,我懒得伸手去拿)它正是我想要的状态(使用混合模式睡眠,以防我断电)

关机菜单上的 sleep 命令也有效。

我发现的大多数信息都说要使用;

%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0
Run Code Online (Sandbox Code Playgroud)

但这会使计算机处于休眠模式。我确实禁用了休眠,但使用混合睡眠。

那么,让您的计算机进入睡眠状态(而不是休眠状态)的命令是什么?

imo*_*ama 73

希望你觉得这些有用。

关掉 %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

注意:rundll32.exe 不应用于启动 powerprof.dll。相反,您应该直接调用 SetSuspendState。这可以使用 Powershell 完成 - 创建一个文件,例如 sleep.ps1,包含以下内容。

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

然后使用powershell -File C:\your-path\sleep.ps1. 您可能首先需要运行该命令Set-ExecutionPolicy RemoteSigned以启用 powershell 脚本才能运行。

上面的脚本会导致系统挂起,它会根据您当前的休眠设置休眠或休眠。要从命令行更改该设置,请以管理员身份从命令行运行powercfg -h off(或on)。

  • 显然它没有:http://superuser.com/a/331545/21887 所以使用这种方法被认为是危险的,不推荐使用。(它破坏了堆栈。) (11认同)
  • 这很棒,但 Sleeeeeeeeeeeeep 在哪里 (9认同)
  • 待机快捷方式让我的 Win7 机器进入休眠状态:( (7认同)
  • @demoncodemonkey: Standbyyyyyyyyyyyyy = Sleeeeeeeeeeeeep :) (5认同)
  • 真好!+1... (4认同)
  • `powrprof.dll,SetSuspendState` 是否符合 Rundll32 的函数签名 [要求](http://stackoverflow.com/a/3207411/234309)?否则可能会发生不可预见的坏事,正如 Raymond Chen [警告](http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx)... (2认同)
  • %windir%\System32\shutdown.exe -h 休眠。 (2认同)

har*_*ymc 16

查看Wizmo的免费实用程序,它可以做很多事情。
您正在寻找的命令可能是:

wizmo 待机

  • `wizmo.exe 安静待机` 抑制了`wizmo.exe` 可能令人讨厌的哔哔声。 (2认同)

And*_*Lee 14

我找到了解决方案。我安装了一个名为 AutoHotKey 的免费软件程序,并将调用开始菜单 -> 睡眠的步骤记录到脚本文件中。然后我将脚本文件编译成一个独立的可执行文件 SleepWin7.exe。

现在我只需运行 SleepWin7.exe 即可让我的计算机进入混合睡眠。

如果您只需要它,您可以卸载 AutoHotKey。


更新:当用户未登录时,上述解决方案不起作用,即 Windows 7 登录屏幕。(我的电脑每周日凌晨 4 点醒来执行每周备份,无需用户登录。)在这种情况下,Wizmo程序仍然有效:

wizmo.exe 安静待机!

  • 这是一个 AutoHotKey 脚本(使用键盘);发送, {LWINDOWN}{LWINUP} WinWait, 开始菜单, IfWinNotActive, 开始菜单, , WinActivate, 开始菜单, WinWaitActive, 开始菜单, Send, {TAB}{UP}{RIGHT}s (3认同)
  • 切换到 Windows 8 后,我现在使用 NirCmd(重量很轻),它使计算机进入混合睡眠;`nircmd.exe Standby` 更多信息可以在这里找到 -> http://www.nirsoft.net/utils/nircmd.html (2认同)

Art*_*lho 14

你可以创建一个扩展名为 .ps1 (powershell) 的文件,比如“sleep.ps1”,然后写:

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

当我有东西正在运行并且不得不离开电脑并且不想关闭它时,我会使用它。因此,我将脚本更改为如下所示:

$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)
Run Code Online (Sandbox Code Playgroud)

现在当我运行它时,我只需输入我想等到睡眠的分钟数。

您可以通过编写从 cmd 行运行它

powershell -File C:\your-path\sleep.ps1
Run Code Online (Sandbox Code Playgroud)

如果您以前从未运行过 PowerShell 脚本,则需要先运行

Set-ExecutionPolicy RemoteSigned
Run Code Online (Sandbox Code Playgroud)

在 PowerShell 中启用脚本运行。这只需要运行一次。


Aar*_*oma 10

使用Sysinternals PsTools [下载]:

psshutdown -d
Run Code Online (Sandbox Code Playgroud)

使用命令行工具PsShutdown

(如果您已经下载了 PsTools,您可能更喜欢这个解决方案,它的使用非常广泛。除此之外,这种方法等同于使用。)wizmoquiet standby

来源:https : //superuser.com/a/331545/21887


jjl*_*lin 7

我多年来一直在使用这个SLEEP.EXE实用程序。它运行良好,您不必记住为挂起模式(其默认形式的“睡眠”)提供的参数。


小智 6

要禁用您需要使用的休眠模式

powercfg -h off
Run Code Online (Sandbox Code Playgroud)

现在,rundll32 powrprof.dll,SetSuspendState将使您的站点处于待机模式

[编辑]

实际上我无法设置混合睡眠,因为我有一台笔记本电脑(移动台上不可用的状态),对于混合睡眠,您需要启用休眠,有人说 rundll32 powrprof.dll,SetSuspendState 触发默认睡眠控制面板\电源管理设置中的模式。如果rundll32 powrprof.dll,SetSuspendState 混合睡眠给出一些结果请尝试。


dim*_*77x 5

制作一个 bat 文件,其中 600 是以秒为单位的延迟。

ping -n 600 -w 1 127.0.0.1 > 空

powercfg -h 关闭

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