Hibernacja komputera z przekroczeniem limitu czasu z wiersza polecenia w systemie Windows 7

63

Próbuję zahibernować mój komputer z polecenia. Używałem shutdown /s /t 20do wyłączenia się komputera. Zmieniam / s na / h na hibernację, a teraz zwraca tekst użycia, jakby nie rozpoznał tego, co wprowadziłem. W tym jest powiedziane

/h         Hibernate the local computer.

Czy jest coś jeszcze, czego muszę użyć z / h, aby przejść do stanu hibernacji?

Jackson
źródło
Ale w tym przypadku (w przypadku użycia opcji waitfor lub coś takiego) nie można przerwać zaplanowanej hibernacji ....

Odpowiedzi:

76

Niestety nie sądzę, że możesz ustawić czas hibernacji.

Próbować:

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

pingJest hackish sposobem opóźniania działań. -n 20powinien poczekać 20 sekund.

(podwójny &&pozwoli ci zrobić Ctrl+, Caby anulować operację, ale jeśli użyjesz prostego, &naciśnięcie Ctrl+ Cspowoduje tylko przerwanie timera, a następnie kontynuuje zamykanie)

Phoshi
źródło
haha, +1 za tę przyjemną zamianę „uśpienia” :) Napisałem własny .exe, aby to zrobić, ale .. hehahahahr.
akira
6
Dlaczego nie możemy ustawić czasu hibernacji? zezwolenie na tę funkcję nie byłoby trudne dla programistów systemu Windows. ale dlaczego nie? Z oo
Amirreza Nasiri
Fajnie, ale && nie działa w PowerShell
Dr Deo
Uwaga: > NUL 2>&1część uniemożliwi jakiekolwiek wyjście z ping(więcej informacji znajduje się w powiązanych pytaniach ).
Top-Master
34

Możesz również rozważyć użycie poleceń „timeout” lub „waitfor” w podobny sposób.

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

lub

waitfor NUL /t 20 || shutdown /h

Więcej tutaj: Jak zmusić plik wsadowy do oczekiwania / uśpienia na kilka sekund?

Radko Dinev
źródło
1
Obie opcje działają, ale pierwsza jest lepsza . Jeśli chcesz anulować polecenie za pomocą <kbd> Ctrl </kbd> + <kbd> C </kbd>, pierwsza opcja zostanie anulowana, ale druga otrzyma falsew pierwszym warunku i przejdzie shutdownbezpośrednio do polecenia.
IgniteCoders
10

Używam następujących:

sleep 20 && shutdown /h /f

Lub to, jeśli chcę to wyłączyć w określonym czasie:

At 22:30 shutdown /h /f
Craig
źródło
Próbowałem polecenia At 22:30 shutdown /h /fw wierszu polecenia cmd, dostałem komunikat, jak odmowa dostępu, ale jestem administratorem komputera. czekam na twój respose
Smart003
Wierzę, że w Windows 10 zmienili uprawnienia wymagane do używania „w”. Jest przeznaczony tylko do zadań systemowych i aby go wykonać, musisz mieć konto SYSTEM. Tak, SYSTEM jest bardziej uprzywilejowany niż konta administratora (lokalnie) i tak, istnieje sposób na uzyskanie wiersza polecenia na koncie SYSTEM.
Thanasis Kapelonis
8

Myślę, że narzeka na czas. Po prostu shutdown /hi powinno działać.

Josip Medved
źródło
3

Oczywiście możesz ustawić CZAS hibernacji.

Jeśli naprawdę chcesz hibernować swój komputer po określonym czasie, wystarczy wpisać to polecenie poniżej w cmd, tj .:

    timeout /t 36000 /nobreak & shutdown /h

Teraz komputer zacznie odliczać od 36000 do 0, zanim przejdzie w stan hibernacji. Pamiętaj jednak, że możesz zmienić 36000 na dowolną liczbę sekund, która Ci odpowiada.

Ace Cube001
źródło
3

Jeśli masz cygwina, jest to bardzo proste: sleep 45m && shutdown /h

Możesz uczyć sleepw kilka minut, godzin, sekund, a nawet dni. Sprawdź tę odpowiedź na tematsleep .

Dominykas Mostauskis
źródło
2

Czy wypróbowałeś Harmonogram zadań systemu Windows? Jeśli masz skrypt, możesz go ustawić na uruchomienie w określonym czasie - powinno to odpowiedzieć na pytanie o opóźnienie czasowe.

Rachunek
źródło
2

zawsze używam tego:

zamknięcie -h

anonimowy
źródło
Nie ma znaczenia, z jakiegoś powodu nie można hibernować.
Synetech
@ Synetech Programiści systemu Windows nie mieliby trudności z włączeniem tej funkcji. ale dlaczego nie? Z oo
Amirreza Nasiri
1

Długo szukałem też hibernacji czasowej. Wreszcie stworzyłem następujące rozwiązanie:

Utwórz batplik jak poniżej:

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

Załóżmy, że jest zapisany C:\hibernate.bat

Następnie otwórz Runpolecenie ( Win+R) i uruchom batplik z limitem sekund, jak poniżej:

C:\hibernate.bat [timeout]

użytkownik3702551
źródło
-2

Zamiast /używać -.

Użyj poniższego polecenia w CMD jako admin priv i test

shutdown -h
Vamsi Harish
źródło