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

¿Cuál es el comando que hay que utilizar para poner el ordenador en reposo (no en hibernación)?

Quiero poner mi PC de Windows (Windows 7) en un estado de suspensión a través de la línea de comandos (para que pueda enlazar con el botón de macro en el teclado).

El botón de encendido del PC está configurado para que el ordenador entre en estado de suspensión (pero está en el suelo y me da pereza bajarme) y es exactamente como lo quiero (duerme usando el modo híbrido en caso de que pierda energía)

El comando de suspensión en el menú de apagado también funciona.

la mayoría de la información que he encontrado dice que hay que usar;

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

Pero esto pone el ordenador en modo hibernación. Yo tengo la hibernación desactivada, pero utilizando el sueño híbrido.

Entonces, ¿cuál es el comando que hay que usar para poner el ordenador en modo de reposo (no hibernación)?

Respuestas (8)

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

Espero que te sean útiles.

Apagado %windir%\System32\shutdown.exe -s

Reinicio %windir%\System32\shutdown.exe -r

Cierre de sesión %windir%\System32\shutdown.exe -l

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

Hibernación %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate

Precaución: rundll32.exe no debe utilizarse para lanzar powerprof.dll . En su lugar, debe llamar directamente a SetSuspendState. Esto se puede hacer usando Powershell - cree un archivo, por ejemplo, sleep.ps1, con el siguiente contenido.

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

Luego ejecútelo usando powershell -File C:\your-path\sleep.ps1. Es posible que primero tenga que ejecutar el comando Set-ExecutionPolicy RemoteSigned para permitir que se ejecuten los scripts de powershell.

El script anterior provoca una suspensión del sistema, que dormirá o hibernará dependiendo de su configuración actual de hibernación. Para cambiar esa configuración desde la línea de comandos, ejecute powercfg -h off (o on) desde la línea de comandos como administrador.

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

Vea la utilidad gratuita de Wizmo , que puede hacer muchas cosas.
El comando que estás buscando es probablemente

wizmo standby

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

Puedes crear un archivo con extensión .ps1 (powershell) como “sleep.ps1” y escribir esto:

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

Yo lo uso cuando tengo algo en marcha y tengo que dejar el pc y no quiero apagarlo. Así que cambio el script para que quede así:

$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)

Y ahora cuando lo ejecuto, sólo introduzco los minutos que quiero esperar hasta dormir.

Puedes ejecutar esto desde la línea cmd escribiendo

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

Si nunca has ejecutado un script de PowerShell antes, querrás ejecutar primero

Set-ExecutionPolicy RemoteSigned

en PowerShell para habilitar la ejecución del script. Esto sólo tiene que ser ejecutado una vez.

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

He encontrado una solución. Instalé un programa gratuito llamado AutoHotKey y grabé los pasos para invocar el Menú Inicio -> Sleep en un archivo de script. Luego compilé el archivo de script en un ejecutable independiente SleepWin7.exe.

Ahora simplemente ejecuto SleepWin7.exe para poner mi ordenador en reposo híbrido.

Puedes desinstalar AutoHotKey si sólo lo necesitas para esto.

  • *

Actualización: La solución anterior no funciona cuando el usuario no está conectado, es decir, la pantalla de inicio de sesión de Windows 7. (Mi ordenador se despierta a las 4 de la mañana todos los domingos para realizar la copia de seguridad semanal, que se hace sin que el usuario inicie sesión). En este caso, el programa Wizmo sigue funcionando: ¡

wizmo.exe quiet standby!

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

Con Sysinternals PsTools [descarga ]:

psshutdown -d

utilizando la herramienta de línea de comandos PsShutdown .

(Puede que prefiera esta solución si ya ha descargado PsTools, es bastante utilizada. Aparte de eso, este enfoque es equivalente a usar wizmo quiet standby).

Fuente: https://superuser.com/a/331545/21887

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

He estado usando esta utilidad SLEEP.EXE durante años. Funciona bien, y no tienes que recordar qué argumentos darle para el modo de suspensión (su forma predeterminada de “dormir”).

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

Haga un archivo bat, donde 600 es el retraso en segundos.

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

Si eres competente en la compilación de un programa .NET el siguiente comando hará esto

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

Nota: No necesitas desactivar la hibernación como lo requiere el comando rundll32 powrprof.dll,SetSuspendState. También puede usar PowerState.Hibernate que hibernará la máquina si lo desea.

Podrías compilar fácilmente un EXE con este comando con cualquier versión de Visual Studio . Sólo tienes que crear una aplicación de consola y añadir una referencia a la DLL System.Windows.Forms.