2009-09-16 14:15:16 +0000 2009-09-16 14:15:16 +0000
147
147

¿Cómo puedo poner el ordenador en suspensión desde el menú de comandos/ejecución?

Sé que casi todo en Windows, como abrir cualquier tipo de aplicación, se puede hacer desde el sistema de comandos o desde el menú de ejecución.

¿Cómo puedo poner mi ordenador en suspensión o apagarlo? ¿Cuál es el comando para eso?

Respuestas (11)

130
130
130
2009-09-16 14:21:19 +0000

Encontrarás shutdown.exe para ser tu amigo.

Otros comandos útiles ver este post:

Ordenador de Sueño (leer más en https://superuser. com/a/463652/249349 )

Bloquear estación de trabajo

Hibernar ordenador

see answers by Scott Chamberlain and Eric L

Reiniciar ordenador

Shutdown.exe -r -t 00

Apagar ordenador

Shutdown.exe -s -t 00

EDITAR/ACTUALIZAR:

Parece que dormir un ordenador es problemático si se activa la hibernación.

Copiar de otras respuestas:

Puede intentar PsShutdown o:

El comando rundll32.exe powrprof.dll,SetSuspendState 0,1,0 para dormir es correcto - sin embargo, hibernará en lugar de dormir si no se apaga la hibernación.

Así se hace:

Vaya al menú de inicio y abra un símbolo de comando elevado escribiendo cmd.exe, haciendo clic con el botón derecho del ratón y eligiendo Ejecutar como administrador. Escriba el siguiente comando:

powercfg -hibernate off
87
87
87
2012-02-29 20:57:51 +0000

Los métodos publicados por otras personas no funcionan correctamente si un ordenador tiene activada la hibernación, el ordenador no se despertará en el teclado o, lo que es más importante, no se despertará en la tarea programada.

Una de las herramientas Sysinternals de Microsoft es PsShutdown usando el comando psshutdown -d -t 0 se dormirá correctamente, no hibernará, un ordenador

10
10
10
2013-04-06 18:11:55 +0000

El NirCmd funciona con Windows 8 (asumo que también funciona con Windows 7) → http://www.nirsoft.net/utils/nircmd.html El comando es standby, pero pone el ordenador en suspensión.

nircmd.exe standby

Si tienes la suspensión híbrida activada, funcionará; es decir, pone el ordenador en suspensión y copia la memoria al disco en caso de pérdida de energía.

3
3
3
2009-09-16 19:33:56 +0000

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

wizmo standby

3
3
3
2017-01-29 14:55:59 +0000

He creado un atajo para rundll32.exe powrprof.dll,SetSuspendState 0,1,0 (también lo intenté con 0,0,0), pero ejecutar el atajo parecía poner mi PC en hibernación. No podía despertar el PC usando el teclado; tenía que pulsar el botón de encendido, y el PC mostraba los mensajes de la placa base, etc.

Después de leer el documento de la API de Windows , creé un programa muy simple con sólo 3 líneas de escritura. He subido el ejecutable que compilé a esta página (haga clic en el “SleepTest.exe”) , pero este archivo podría ser eliminado después de un tiempo (este es un sitio de alojamiento de archivos gratis que acabo de encontrar por una rápida búsqueda en Google).

Si no confías en mí (lo cual está totalmente bien) o el archivo ha sido eliminado, puedes compilar el código tú mismo, por supuesto. Necesitas añadir “PowrProf.lib” a las dependencias adicionales del Linker.

#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 parece que hace lo mismo, pero de alguna manera, el programa de arriba no puso al ordenador en hibernación. Podía despertar la PC instantáneamente (sin mensajes de la placa principal, etc.) pulsando cualquier tecla del teclado.

2
2
2
2009-09-17 05:10:31 +0000

Puede iniciar las opciones de suspensión o hibernación desde la línea de comandos como se especifica a continuación y se hace referencia en este artículo .

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

Si su computadora está configurada para permitir la hibernación entonces el comando anterior iniciará la hibernación. Si la función de hibernación está desactivada, entonces entrará en estado de espera. Como otros usuarios han respondido anteriormente, shutdown.exe /? proporcionará muchas opciones de apagado.

1
1
1
2012-07-22 20:56:36 +0000

Primero debes deshabilitar Hibernar en Windows y luego poner la computadora en estado Sleep. Use los siguientes dos comandos:

powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0

y para hacer la acción inversa, Hibernar la computadora, use los siguientes comandos:

powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate
1
1
1
2012-08-07 00:27:31 +0000

(https://web.archive.org/web/20120103114718/http://samanathon.com/windows-tip-shutdown-your-computer-with-the-command-prompt/) es un artículo sobre el uso de la CLI para apagar.

Microsoft provee PsTools que te da el cierre de la CLI junto con otras herramientas útiles. Puedes conseguir eso aquí .

1
1
1
2016-03-19 09:53:53 +0000

sólo QUICK SLEEPER funciona para mí (funciona en Windows 7,8,10).

p.s. código fuente disponible aquí .

1
1
1
2016-10-27 23:19:30 +0000

Si tienes Python (con pywin32) disponible también puedes llamar a esa función SetSuspendState directamente con:

import ctypes
ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)

Esto puede ser fácilmente puesto en un archivo por lotes o un atajo como:

pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)"

Entonces si no tienes tus archivos .py asociados al intérprete puedes simplemente hacer doble clic en el enlace.

1
1
1
2018-04-03 05:28:08 +0000

La parte de apagado de la pregunta está clara para todos. shutdown.exe /? muestra todas las opciones de apagado / reinicio / opciones avanzadas de arranque / arranque del firmware.

Pero veo tantos golpes lanzados sobre la parte del sueño. _Todos entienden que rundll32.exe no debe ser usado para llamar a funciones aleatorias y sólo funciona aquí para hibernar completamente por coincidencia. Pero esa es la naturaleza de Windows, una caja negra en la que la gente ha buscado y encontrado cientos de soluciones para hacer un trabajo.

Hay tantas soluciones “propias” proponiendo herramientas externas, pero parece que no puedo encontrar un script de lotes nativo (híbrido / pinvoke / lo que sea), incluso si esta pregunta ha permanecido activa a lo largo de los años. Así que aquí está mi simple * 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

Incluso funciona como un gran comando de una línea:

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();"