how can I use the shutdown command to hibernate the computer in X hours? [duplicate]
Solution 1:
The -h
switch is used to shut down the computer on Linux, not Windows. The correct command to shut down a Windows computer after 7 hours is:
shutdown -s -t 36000
Windows will show a dialog box with a countdown until the time the computer will shut down.
But, you want to hibernate, not shutdown, and unfortunately, the /h
and the /t
switch don't work together. As a workaround, you can use the at
command to schedule shutdown /h
to run at a certain time. For example, it is 3:00pm in my time zone at present, so 10 hours later would be 1:00am. To schedule it to hibernate then, I would run:
at 1:00 shutdown /h
It uses 24-hour time notation, so if you wanted it to hibernate at 1:00pm, you'd run:
at 13:00 shutdown /h
Please note, that while you don't need administrator permissions to run the shutdown
command on default Windows installations, you do need them for the at
command.
Solution 2:
It doesn't look like the -t option is supported with the -h option for shutdown.
Under Windows 7, you can duplicate what you're trying to do with a .bat script containing the following:
timeout /t 36000 /nobreak
shutdown -h
It will cause the PC to immediately hibernate once timeout is done counting down.
Solution 3:
PsShutdown from Sysinternals can hibernate the computer after a specified amount of time.
psshutdown -h -t 36000