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

用什么命令让你的电脑进入睡眠状态(不是休眠)?

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

电脑上的电源按钮被设置为让电脑进入睡眠状态(但它是倒在地上的,我太懒了,没办法伸手下去),这正是我想要的(使用混合模式睡眠,以防我断电)

关机菜单上的睡眠命令也能用。

我找到的大多数信息都说要使用;

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

但这将使计算机进入休眠模式。我确实禁用了休眠,但使用混合睡眠。

那么,用什么命令让你的电脑进入睡眠状态(不是休眠)?

答案 (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

注意。 rundll32.exe不应该被用来启动powerprof.dll 。相反,你应该直接调用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命令来启用powershell脚本运行。

上面的脚本会导致系统暂停,根据你当前的休眠设置,系统会进入睡眠或休眠状态。要从命令行更改该设置,请以管理员身份从命令行运行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

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

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)

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

你可以在cmd行写下

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

如果你以前从来没有运行过PowerShell脚本,你会想先在PowerShell中运行

Set-ExecutionPolicy RemoteSigned

来启用脚本运行。这只需要运行一次。

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

我找到了一个解决方案。我安装了一个名为AutoHotKey的免费程序,并将调用 “开始菜单”->“睡眠 "的步骤记录到一个脚本文件中。然后我把这个脚本文件编译成一个独立的可执行文件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 实用程序已经很多年了。它工作得很好,而且你不必记住给它暂停模式的参数(它的默认形式是 “睡眠")。

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

制作一个bat文件,其中600是延时秒数。

ping -n 600 -w 1 127.0.0.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的引用。