Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

This question already has an answer here:

Not a duplicate. The "duplicate" question doesn't address the time factor -- which is the real problem here.

I'd like to hibernate my windows 7 pc in 10 hours after a download is finished. When I execute this:

shutdown -h -t 36000

All I get is the shutdown help text. Doesn't matter if I'm in admin or normal for the cmd prompt. Is there something I'm missing? I've tried -t 36000 only with the same results. Same with / instead of -.

So either a) it isn't working or b) it has a funny way of telling me about it. Do the power management settings interfere with this command?

Update: The /s switch shuts the computer down (not hibernate). /h is a valid switch. Here's a screenshot of my command:

my shutdown screen

share|improve this question

marked as duplicate by Synetech, Tog, Mokubai, Dave M, tapped-out Nov 20 '13 at 23:25

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
Have you run "powercfg /hibernate on" yet? And what happens if you run the command with only the /h switch, and no /t switch? –  goblinbox Mar 20 '11 at 20:15
    
@goblinbox I tried it with either switch, neither one worked. Do I need to run powercfg to allow shutdown cmd to run the /h switch? –  jcollum Mar 20 '11 at 21:12
    
Hibernate has to be enabled in order to work, yes. –  goblinbox Mar 20 '11 at 22:30
add comment

3 Answers 3

up vote 20 down vote accepted

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.

share|improve this answer
    
+1 Shutdown ? will show all switches for the command –  Dave M Mar 20 '11 at 18:27
    
You're mistaken, updated OP with a screenshot. –  jcollum Mar 20 '11 at 19:33
    
@jcollum: Sorry about that! It seems Windows does not support timed hibernation. Notice if you omit the /t 36000 switch, the command works. I'll add a workaround to my answer. –  Patches Mar 20 '11 at 22:07
    
Thanks. I never tested out the /h command by itself because that would've just shut it down immediately. Also, I didn't see anywhere on the man page where it said that they weren't compatible -- how would I have found that? –  jcollum Mar 20 '11 at 23:14
    
The issue with shutting down is that it requires me to go thru and find all the things which might be blocking my computer from shutting down. Hibernating has a lot less friction. –  jcollum Mar 20 '11 at 23:15
show 3 more comments

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.

share|improve this answer
1  
+1 for introducing the timeout command –  Isaac Jul 11 '11 at 22:35
3  
You can avoid the batch-file and run it directly too: timeout /t 36000 /nobreak & shutdown /h Of course if you make a batch-file to simplify it, then you should replace the timeout with %1 so that it is general-purpose. –  Synetech Jan 30 '13 at 6:02
1  
One warning though, you can’t abort the shutdown by pressing a key with the & version; doing so will immediately shutdown (you are canceling the wait only). With a batch-file, you can press Ctrl+Break and CMD will ask if you want to end the batch-file (and thus abort the shutdown) or continue it. So you have choice of behavior. Or, you can write a more batch file with the choice and skip timeout altogether: choice /n /t 3600 /d Y /m "Abort hibernate?" & if errorlevel 2 shutdown -h (however it doesn’t show the time left and is limited to 9999 seconds—for multi-hour, just use at). –  Synetech Jan 30 '13 at 14:56
    
@Synetech: It's possible to cancel by closing the window, just tried it. –  Vixen Sep 19 '13 at 21:52
    
Actually the command without a batch file is timeout /t 36000 /nobreak && shutdown -h - this will stop if you cancel the timeout. With only one ampersand it would execute the second command then. –  Sven Nov 14 '13 at 8:59
add comment

PsShutdown from Sysinternals can hibernate the computer after a specified amount of time.

psshutdown -h -t 36000
share|improve this answer
2  
This is somehow overkill. Two other answers point out a simpler solution. Anyway thank you for the sysinternals reference –  Isaac Jul 11 '11 at 22:37
1  
@Isaac: How is it overkill? PsShutdown can do more than shutdown can and so is useful to have. I don't think adding extra programs in your path is such a big deal. –  paradroid Jul 11 '11 at 22:55
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.