спящий компьютер с таймаутом из командной строки в windows 7

<p>я пытаюсь перевести компьютер в спящий режим по команде. я использовал <code>shutdown /s /t 20</code>, чтобы выключить компьютер. я изменяю/s на/h на hibernate, и теперь он просто возвращает текст использования, как будто он не распознает то, что я ввел. в это говорит</p><pre><code>/h hibernate the local computer. </code></pre><p>есть ли что-то еще, что мне нужно использовать с/h, чтобы перевести его в спящий режим?</p>

<p>я не верю, что вы можете установить время для спячки, к сожалению.</p><p>пытаться:</p><pre><code>ping -n 20 127.0.0.1 > nul 2>&1 && shutdown /h /f </code></pre><p><code>ping</code> - это хакерский способ отложить действие. <code>-n 20</code> должен подождать 20 секунд.</p><p>(двойной <code>&&</code> позволит вам сделать <kbd>ctrl</kbd>+<kbd>c</kbd> отменить операцию, если вы используете простой <code>&</code>, то <kbd>ctrl</kbd>+<kbd>c</kbd> автоматически отключится после нажатия)</p>

<p>вы также можете использовать команды timeout или waitfor аналогичным образом.</p><pre><code>timeout /t 20 /nobreak > nul && shutdown /h </code></pre><p>или же</p><pre><code>waitfor nul /t 20 || shutdown /h </code></pre><p>подробнее здесь: <a href="https://superuser.com/questions/48231/windows-7-bat-file-wait-sleep">как заставить пакетный файл ждать/спать в течение нескольких секунд?</a> </p>

<p>я использую следующее:</p><pre><code>sleep 20 && shutdown /h /f </code></pre><p>или это, если я хочу отключить в определенное время:</p><pre><code>at 22:30 shutdown /h /f </code></pre>

<p>я думаю, что это жалуется на время. просто поставьте <code>shutdown /h</code> и он должен работать.</p>

<p>если у вас есть cygwin, это очень просто: <code>sleep 45m && shutdown /h</code></p><p>вы можете указать <code>sleep</code> в минутах, часах, секундах и даже днях. проверить <a href="https://stackoverflow.com/a/21621163/1714997">этот ответ о <code>sleep</code></a> .</p>

<p>конечно, вы можете установить время для спячки.</p><p>если вы действительно хотите перевести компьютер в спящий режим по истечении определенного времени, все, что вам нужно сделать, это ввести следующую команду в cmd i.e:</p><pre><code> timeout /t 36000 /nobreak & shutdown /h </code></pre><p>теперь компьютер начнет обратный отсчет с 36000 до 0, прежде чем перейдет в спящий режим. но вы должны заметить, что вы можете изменить 36000 на любое количество секунд, которое вам подходит.</p>

<p>вы пробовали планировщик заданий windows? если у вас есть сценарий, вы можете настроить его запуск в определенное время - это должно ответить на вопрос о задержке.</p>

<p>я всегда использую это:</p><blockquote> <p>выключение -h</p> </blockquote>

<p>я также долго искал спящий режим. наконец я сделал следующее решение:</p><p>создайте файл <code>bat</code>, как показано ниже:</p><p><code>timeout /t %1 /nobreak && shutdown /h</code></p><p>предположим, что он сохранен в <code>c:\hibernate.bat</code></p><p>затем откройте команду <code>run</code> (<kbd>win+r</kbd>) и запустите файл <code>bat</code> со временем ожидания, как показано ниже:</p><p><code>c:\hibernate.bat [timeout]</code></p>