Ordinateur Hibernate avec un délai d'attente en ligne de commande sous Windows 7

63

J'essaie d'hiberner mon ordinateur à partir de la commande. J'utilisais shutdown /s /t 20pour éteindre l'ordinateur. Je change / s en / h pour passer en veille prolongée et maintenant, il retourne simplement le texte d'utilisation comme s'il ne reconnaissait pas ce que j'avais entré. C'est ce qu'on dit

/h         Hibernate the local computer.

Dois-je utiliser quelque chose d'autre avec / h pour l'hiberner?

Un jackson
la source
Mais dans ce cas (le cas où vous utilisez waitfor ou quelque chose comme ça), vous ne pouvez pas abandonner l'hibernation planifiée ....

Réponses:

76

Je ne crois pas que vous puissiez fixer un moment pour l'hibernation, malheureusement.

Essayer:

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

La pingest une façon furtive de retarder l'action. -n 20devrait attendre 20 secondes.

(le double &&vous permettra de faire un Ctrl+ Cpour annuler l'opération, mais si vous utilisez un simple, &appuyer sur Ctrl+ Cne fera que briser la minuterie et ensuite continuer à s'éteindre)

Phoshi
la source
haha, +1 pour ce remplacement "sommeil" agréable :) j'ai écrit mon propre fichier .exe pour le faire, mais .. hehahahahr.
Akira
6
Pourquoi ne pouvons-nous pas fixer l'heure de mise en veille prolongée? il ne serait pas difficile pour les développeurs Windows d'autoriser cette fonctionnalité. mais pourquoi ils ne l'ont pas fait? Oo
Amirreza Nasiri
Bien mais && ne travaille pas dans PowerShell
Dr Deo
Remarque: la > NUL 2>&1pièce empêchera toute sortie de la ping(pour plus voir la question connexe ).
Top-Master
34

Vous pouvez également envisager d'utiliser les commandes "timeout" ou "waitfor" de manière similaire.

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

ou

waitfor NUL /t 20 || shutdown /h

Plus ici: Comment faire un fichier batch attendre / dormir pendant quelques secondes?

Radko Dinev
la source
1
Les deux options fonctionnent, mais la première est meilleure . Si vous souhaitez annuler la commande via <kbd> Ctrl </ kbd> + <kbd> C </ kbd>, la première option sera annulée, mais la seconde recevra un falsedans la première condition et passera shutdowndirectement à la commande.
IgniteCoders
10

J'utilise les éléments suivants:

sleep 20 && shutdown /h /f

Ou ceci si je le veux à une heure donnée:

At 22:30 shutdown /h /f
Craig
la source
J'ai essayé la commande At 22:30 shutdown /h /fdans l'invite cmd, j'ai reçu un message comme l'accès refusé, mais je suis l'administrateur de mon ordinateur. en attente de votre réponse
Smart003
Je crois que dans Windows 10, ils ont modifié les autorisations requises pour utiliser "at". Il est uniquement destiné aux travaux système et vous devez être un compte système pour pouvoir l'exécuter. Oui, SYSTEM a plus de privilèges que les comptes d’administrateur (localement) et oui, il existe un moyen d’obtenir une invite de commande sous le compte SYSTEM.
Thanasis Kapelonis
8

Je pense qu'il se plaint du temps. Il suffit de mettre shutdown /het cela devrait fonctionner.

Josip Medved
la source
3

Bien sûr, vous pouvez régler TIME pour l'hibernation.

Si vous voulez vraiment mettre votre ordinateur en veille prolongée après un certain temps, il vous suffit de saisir cette commande ci-dessous dans la commande cmd, à savoir:

    timeout /t 36000 /nobreak & shutdown /h

Maintenant, l'ordinateur commencera à décompter de 36 000 à 0 avant de passer en veille prolongée. Mais notez que vous pouvez modifier 36 000 en un nombre de secondes qui vous convient.

Ace Cube001
la source
3

Si vous avez cygwin c'est très simple: sleep 45m && shutdown /h

Vous pouvez donner des instructions sleepen minutes, heures, secondes et même jours. Découvrez cette réponse à propos desleep .

Dominykas Mostauskis
la source
2

Avez-vous essayé le planificateur de tâches Windows? Si vous avez le script, vous pouvez le configurer pour qu'il s'exécute à un moment donné - cela devrait répondre à la question du délai.

Facture
la source
2

J'utilise toujours ceci:

arrêt -h

annonymous
la source
Peu importe, vous ne pouvez pas chronométrer une hibernation (pour une raison quelconque).
Synetech
@ Synetech Il n'est pas difficile pour les développeurs Windows d'autoriser cette fonctionnalité. mais pourquoi ils ne l'ont pas fait? Oo
Amirreza Nasiri
1

Je cherchais également une hibernation chronométrée depuis longtemps. Finalement j'ai fait la solution suivante:

Créez un batfichier comme ci-dessous:

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

Supposons qu'il soit enregistré dans C:\hibernate.bat

Ensuite, ouvrez Runcommande ( Win+R) et exécutez le batfichier avec le délai d'expiration en secondes comme ci-dessous:

C:\hibernate.bat [timeout]

utilisateur3702551
la source
-2

Au lieu d' /utiliser -.

Utilisez la commande ci-dessous dans le CMD en tant que admin priv et test

shutdown -h
Vamsi Harish
la source