Sé que casi todo en Windows, como abrir cualquier tipo de aplicación, se puede hacer desde el símbolo del sistema o desde el menú Ejecutar .
¿Cómo puedo poner mi computadora en suspensión o apagarla ? ¿Cuál es el comando para eso?
Sé que casi todo en Windows, como abrir cualquier tipo de aplicación, se puede hacer desde el símbolo del sistema o desde el menú Ejecutar .
¿Cómo puedo poner mi computadora en suspensión o apagarla ? ¿Cuál es el comando para eso?
Respuestas:
Encontrarás
shutdown.exe
ser tu amigo.Otros comandos útiles ver esta publicación:
Sleep Computer (lea más en https://superuser.com/a/463652/249349 )
Estación de trabajo de bloqueo
Hibernate Computer
Reiniciar computadora
Apagar la computadora
EDITAR / ACTUALIZAR:
Parece que dormir una computadora es problemático si la hibernación está activada.
Copiando de otras respuestas:
Puedes probar PsShutdown o:
fuente
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
es que NO FUNCIONA como debería.SetSuspendState
pondrá la computadora en una especie de modo de hibernación / suspensión híbrida. Cuando usa el botón Suspender del menú de inicio, puede reanudar su computadora de la suspensión presionando cualquier tecla de su teclado. El uso de esta línea de comando hace que la reanudación sea mucho más lenta debido al estado de reposo más profundo y puede reanudarse solo si presiona el botón de encendido en su computadora. No se puede reanudar para presionar una tecla. Entonces ... ¿cómo lo haces dormir como en modo de espera normal, reanudable con solo presionar una tecla?rundll32
no debe usarse para llamarSetSuspendState
porque su firma no coincide con la esperada porrundll32
. Consulte: support.microsoft.com/en-us/kb/164787 y msdn.microsoft.com/en-us/library/windows/desktop/... El primer parámetro obtiene basura en lugar del valor FALSO. Es la razón, por qué hiberna en lugar de irse a dormir.Los métodos publicados por otras personas no funcionan correctamente si una computadora tiene la hibernación habilitada, la computadora no se activará en el teclado o, lo que es más importante, no se activará en la tarea programada.
Una de las herramientas Sysinternals de Microsoft es PsShutdown, que usa el comando para
psshutdown -d -t 0
que duerma correctamente, no hiberne , una computadorafuente
run as administrator
la opción de clic derechopsshutdown.exe
desde el archivo, por ejemploC:\Windows\System32
, para poder usar el comando sin prefijo de ruta. Luego se debe ejecutarpsshutdown -d -t 0
con privilegios de administrador para suspender. Esta debería ser la respuesta aceptada , porque responde a la pregunta, incluso si no es con herramientas preinstaladas de Windows.El comando
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
para dormir es correcto; sin embargo, hibernará en lugar de dormir si no apaga la hibernación.Aquí se explica cómo hacerlo:
Vaya al menú Inicio y abra un símbolo del sistema elevado escribiendo
cmd.exe
, haciendo clic derecho y eligiendo Ejecutar como administrador . Escriba el siguiente comando:fuente
powrprof.dll
cuando la hibernación está activada? Solo quiero saber. ¿Se relaciona con alguno de los estados ACPI?rundll32
no debe usarse para llamarSetSuspendState
porque su firma no coincide con la esperada porrundll32
. Consulte: support.microsoft.com/en-us/kb/164787 y msdn.microsoft.com/en-us/library/windows/desktop/... El primer parámetro obtiene basura en lugar de FALSE. Es la razón, por qué hiberna en lugar de irse a dormir.NirCmd funciona en Windows 8 (supongo que también funciona con Windows 7) → http://www.nirsoft.net/utils/nircmd.html
El comando es
standby
, pero apaga la computadora.Si tiene habilitado el sueño híbrido, funcionará; es decir, pone la computadora en suspensión y copia la memoria en el disco en caso de pérdida de energía.
fuente
Vea la utilidad gratuita de Wizmo , que puede hacer muchas cosas.
El comando que estás buscando es probablemente:
fuente
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
: pone la computadora en hibernación, no en reposoHe creado un acceso directo para
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
(también probé con 0,0,0), pero ejecutar el acceso directo pareció poner mi PC en hibernación. No pude despertar la PC usando el teclado; Tuve que presionar el botón de encendido, y la PC mostró los mensajes de la placa base, etc.Después de leer el documento de la API de Windows , creé un programa muy simple con solo 3 líneas de escritura. He subido el ejecutable que compilé a esta página (haga clic en "SleepTest.exe") , pero este archivo podría eliminarse después de un tiempo (este es un sitio de alojamiento de archivos gratuito que acabo de encontrar mediante una búsqueda rápida 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. Debe agregar "PowrProf.lib" a las dependencias adicionales de Linker.
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
parece estar haciendo lo mismo, pero de alguna manera, el programa anterior no puso la computadora en hibernación. Podría activar la PC al instante (sin mensajes de la placa base, etc.) presionando cualquier tecla del teclado.fuente
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 .
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, pasará al estado de espera. Como otros usuarios han respondido anteriormente,
shutdown.exe /?
proporcionará muchas opciones de apagado.fuente
rundll32
no debe usarse para llamarSetSuspendState
porque su firma no coincide con la esperada porrundll32
. Consulte: support.microsoft.com/en-us/kb/164787 y msdn.microsoft.com/en-us/library/windows/desktop/... El primer parámetro obtiene basura en lugar de FALSE, por lo que siempre hiberna en lugar de ir a dormir.Primero debe deshabilitar Hibernate en Windows y luego poner la computadora en estado de Suspensión . Use los siguientes dos comandos:
y para hacer una acción inversa, hibernar la computadora, use los siguientes comandos:
fuente
rundll32
no está destinado a llamarSetSuspendState
y no debe usarse para esto. El primer parámetro obtiene basura en lugar del valor correcto. Por lo tanto, siempre hiberna en lugar de irse a dormir (si no ha desactivado la hibernación).Aquí hay un artículo sobre el uso de CLI para apagar.
Microsoft proporciona PsTools que le permite cerrar la CLI junto con otras herramientas útiles. Puedes conseguir eso aquí .
fuente
solo QUICK SLEEPER funciona para mí (funciona en Windows 7,8,10).
Código fuente ps disponible aquí .
fuente
Si tiene Python (con pywin32) disponible, también puede llamar a esa función SetSuspendState directamente con:
Esto se puede poner fácilmente en un archivo por lotes o en un atajo como:
Entonces, si no tiene sus archivos .py asociados al intérprete, puede hacer doble clic en el enlace.
fuente
La parte de cierre de la pregunta es clara para todos.
shutdown.exe /?
muestra todas las opciones de apagado / reinicio / arranque de opciones avanzadas / arranque de firmware.Pero veo tantas críticas sobre la parte del sueño.
Todo el mundo entiende que
rundll32.exe
no debe usarse para llamar a funciones aleatorias y simplemente funciona aquí para hibernar completamente por coincidencia. Pero esa es la naturaleza de Windows: una caja negra que la gente ha buscado y encontrado cientos de soluciones alternativas para hacer un trabajo (agradecimiento a los dostips).Hay tantas soluciones " adecuadas " que proponen herramientas externas , sin embargo, parece que no puedo encontrar un script por lotes nativo (híbrido / pinvoke / lo que sea) , incluso si esta pregunta se ha mantenido activa a lo largo de los años.
Así que aquí está mi simple power_sleep.bat :
Incluso funciona como un gran comando de una línea:
fuente