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?


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)


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?


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

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.


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.



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.


2

J'utilise toujours ceci:

arrêt -h


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]


-2

Au lieu d' /utiliser -.

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

shutdown -h
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.