Hiberne la computadora con un tiempo de espera desde la línea de comandos en Windows 7

63

Estoy tratando de hibernar mi computadora con el comando. Estaba usando shutdown /s /t 20para apagar la computadora. Cambio / s a ​​/ h para hibernar y ahora solo devuelve el texto de uso como si no reconociera lo que he ingresado. En esto se dice

/h         Hibernate the local computer.

¿Hay algo más que deba usar con / h para que hiberne?

Un jackson
fuente
Pero en este caso (el caso de que utiliza waitfor o algo así) no se puede abortar la hibernación programada ....

Respuestas:

76

Desafortunadamente, no creo que pueda establecer un tiempo para la hibernación.

Tratar:

ping -n 20 127.0.0.1 > NUL 2>&1 && shutdown /h /f

El pinges una forma hacker de retrasar la acción. -n 20Debería esperar 20 segundos.

(el doble &&le permitirá hacer un Ctrl+ Cpara cancelar la operación, pero si usa un simple &, al presionar Ctrl+ Csolo se romperá el temporizador y luego continuará apagándose)

Phoshi
fuente
jaja, +1 para este bonito reemplazo de "reposo" :) escribí mi propio .exe para hacer esto, pero ... jajajaja.
akira
66
¿Por qué no podemos establecer el tiempo para hibernar? No sería difícil para los desarrolladores de Windows permitir esta característica. pero ¿por qué no lo hicieron? Oo
Amirreza Nasiri
Agradable pero && no funciona en PowerShell
Dr. Deo
Nota: la > NUL 2>&1parte evitará cualquier salida de ping(para más información, consulte la pregunta relacionada ).
Top-Master
34

También podría considerar el uso de comandos "timeout" o "waitfor" de manera similar.

timeout /t 20 /NOBREAK > NUL && shutdown /h

o

waitfor NUL /t 20 || shutdown /h

Más aquí: ¿Cómo hago que un archivo por lotes espere / duerma durante unos segundos?

Radko Dinev
fuente
1
Ambas opciones funcionan, pero la primera es mejor . Si desea cancelar el comando a través de <kbd> Ctrl </kbd> + <kbd> C </kbd>, la primera opción se cancelará, pero la segunda recibirá un falseen la primera condición y saltará shutdowndirectamente al comando.
IgniteCoders
10

Yo uso lo siguiente:

sleep 20 && shutdown /h /f

O esto si lo quiero fuera en un momento determinado:

At 22:30 shutdown /h /f
Craig
fuente
Intenté el comando At 22:30 shutdown /h /fen cmd prompt, recibí un mensaje como acceso denegado pero soy el administrador de mi PC. esperando su respuesta
Smart003
Creo que en Windows 10 han cambiado los permisos necesarios para usar 'at'. Solo está destinado a trabajos del sistema y debe ser una cuenta SYSTEM para ejecutarlo. Sí, SYSTEM tiene más privilegios que las cuentas de administrador (localmente) y sí, hay una manera de obtener un símbolo del sistema en la cuenta SYSTEM.
Thanasis Kapelonis
8

Creo que se queja del tiempo. Solo ponlo shutdown /hy debería funcionar.

Josip Medved
fuente
3

Por supuesto, puede configurar la HORA para la hibernación.

Si realmente desea hibernar su computadora después de un tiempo específico, todo lo que necesita hacer es ingresar este comando a continuación en el cmd, es decir:

    timeout /t 36000 /nobreak & shutdown /h

Ahora la computadora comenzará una cuenta regresiva de 36000 a 0 antes de que hiberne. Pero debe tener en cuenta que puede cambiar 36000 en cualquier número de segundos que más le convenga.

Ace Cube001
fuente
3

Si tienes cygwin es muy simple: sleep 45m && shutdown /h

Puede instruir sleepen minutos, horas, segundos e incluso días. Mira esta respuesta sobresleep .

Dominykas Mostauskis
fuente
2

¿Probaste el Programador de tareas de Windows? Si tiene el script, puede configurarlo para que se ejecute en un momento determinado; esto debería responder la pregunta de retraso de tiempo.

Cuenta
fuente
2

siempre uso esto:

apagado -h

anónimo
fuente
No importa, no puedes programar una hibernación (por alguna razón).
Synetech
@Synetech No sería difícil para los desarrolladores de Windows permitir esta función. pero ¿por qué no lo hicieron? Oo
Amirreza Nasiri
1

También estuve buscando hibernación cronometrada durante mucho tiempo. Finalmente hice la siguiente solución:

Cree un batarchivo de la siguiente manera:

timeout /t %1 /nobreak && shutdown /h

Supongamos que se guarda en C:\hibernate.bat

Luego abra el Runcomando ( Win+R) y ejecute el batarchivo con los segundos de tiempo de espera como se muestra a continuación:

C:\hibernate.bat [timeout]

user3702551
fuente
-2

En lugar de /usar -.

Utilice el siguiente comando en el CMD como administrador priv y prueba

shutdown -h
Vamsi Harish
fuente