как перевести компьютер в режим сна из командной строки/меню "выполнить"?

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

<p>вы найдете <code>shutdown.exe</code>, чтобы быть вашим другом.</p><p>другие удобные команды см. <a href="http://www.howtogeek.com/howto/windows-vista/quick-tip-create-shutdown-restart-lock-icons-in-windows-vista/">это</a> post:</p><p>спящий компьютер (подробнее на <a href="https://superuser.com/a/463652/249349">https://superuser.com/a/463652/249349</a> )</p><p>блокировка рабочей станции</p><p>спящий компьютер</p><pre><code>see answers by scott chamberlain and eric l </code></pre><p>перезапустить компьютер</p><pre><code>shutdown.exe -r -t 00 </code></pre><p>выключить компьютер</p><pre><code>shutdown.exe -s -t 00 </code></pre><p>edit/update:</p><p>кажется, что спать на компьютере проблематично, если включен режим гибернации.</p><p>копирование из других ответов:</p><p>вы можете попробовать <a href="http://technet.microsoft.com/en-us/sysinternals/bb897541">psshutdown</a> или:</p><blockquote> <p>команда rundll32.exe powrprof.dll, setsuspendstate 0,1,0 для спящего режима верна - однако она будет переходить в спящий режим вместо спящего, если вы не отключите спящий режим.</p> <p>вот как это сделать:</p> <p>перейдите в меню «пуск» и откройте командную строку с повышенными правами, введя cmd.exe, щелкнув правой кнопкой мыши и выбрав «запуск от имени администратора». введите следующую команду:</p> </blockquote><pre><code>powercfg -hibernate off </code></pre>

<p>методы, размещенные другими людьми, не работают правильно, если компьютер включен спящий режим, компьютер не будет будить на клавиатуре или, что более важно, не буди на запланированной задачи.</p><p>одним из инструментов sysinternals microsoft является <a href="http://technet.microsoft.com/en-us/sysinternals/bb897541">psshutdown</a> с помощью команды <code>psshutdown -d -t 0</code> будет правильно спать,<em> не спящий режим </em>, компьютер</p>

<p>команда <code>rundll32.exe powrprof.dll,setsuspendstate 0,1,0</code> для режима сна верна - однако она будет переходить в спящий режим вместо режима сна, если вы не выключите режим гибернации.</p><p>вот как это сделать:</p><p>перейдите в меню «пуск» и откройте командную строку с повышенными правами, введя <code>cmd.exe</code>, щелкнув правой кнопкой мыши и выбрав<em> запуск от имени администратора </em>. введите следующую команду:</p><pre><code>powercfg -hibernate off </code></pre>

<p>nircmd работает в windows 8 (я полагаю, он также работает и в windows 7) → <a href="http://www.nirsoft.net/utils/nircmd.html">http://www.nirsoft.net/utils/nircmd.html</a> <br> команда <code>standby</code>, но она переводит компьютер в спящий режим.</p><pre><code>nircmd.exe standby</code></pre><p>если у вас включен гибридный сон, он будет работать; то есть он переводит компьютер в спящий режим и копирует память на диск в случае сбоя питания.</p>

<p>смотрите бесплатную утилиту <a href="http://www.grc.com/wizmo/wizmo.htm">wizmo</a> , которая может делать очень много вещей.<br> вероятно, вы ищете команду:</p><blockquote> <p>wizmo standby</p> </blockquote>

<p>я создал ярлык для <code>rundll32.exe powrprof.dll,setsuspendstate 0,1,0</code> (также попытался с 0,0,0), но работает ярлык, казалось, положил мой компьютер в спящий режим. я не мог разбудить пк с помощью клавиатуры; я должен был нажать на кнопку питания, и пк показали почтовые сообщения системной платы и т.д.</p><p>после прочтения <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa373201(v=vs.85).aspx">api документа для windows</a> я создал очень простую программу с помощью всего 3 строки ввода. я загрузил исполняемый i компилируется <a href="http://bhu.co.kr/bbs/board.php?bo\_table=news3&wr\_id=289200&page=1">эта страница (нажмите «sleeptest.exe»)</a> , но этот файл может быть удален через некоторое время (это бесплатный файловый хостинг сайт, который я только что нашел с помощью быстрого поиска google ).</p><p>если вы не доверяете мне (что совершенно нормально), либо файл был удален, вы можете компилировать код самостоятельно, конечно. вам нужно добавить «powrprof.lib» для дополнительных зависимостей линкера.</p><pre><code>#include "stdafx.h" #include "windows.h" <-- added this to make it work on windows. #include "powrprof.h" <-- added this to use the sleep function. int main() { setsuspendstate(false, false, false); <-- added this actual call. return 0; } </code></pre><p><code>rundll32.exe powrprof.dll,setsuspendstate 0,1,0</code>, кажется, делает то же самое, но так или иначе, программа выше, не переводите компьютер в спящий режим. я не мог проснуться компьютер мгновенно (без системных плат почтовых сообщений и т.д.), нажав любую клавишу на клавиатуре.</p>

<p>вы можете запустить параметры приостановки или спящего режима из командной строки, как указано ниже и упоминается в <a href="http://support.microsoft.com/kb/555569">этой статье</a> .</p><pre><code>%windir%\system32\rundll32.exe powrprof.dll,setsuspendstate </code></pre><p>если на вашем компьютере разрешен режим гибернации, то приведенная выше команда инициирует режим гибернации. если функция гибернации отключена, то она перейдет в режим ожидания. как и другие пользователи ответили ранее, <code>shutdown.exe /?</code> предоставит множество вариантов выключения.</p>

<p>если у вас есть python (с pywin32), вы также можете вызвать эту функцию setsuspendstate напрямую с помощью:</p><pre><code>import ctypes ctypes.windll.powrprof.setsuspendstate(0, 1, 0) </code></pre><p>это может быть легко помещено в пакетный файл или ярлык вроде:</p><pre><code>pythonw -c "import ctypes; ctypes.windll.powrprof.setsuspendstate(0, 1, 0)" </code></pre><p>итак, если у вас нет файлов .py, связанных с переводчиком, вы можете просто дважды щелкнуть ссылку.</p>

<p>отключение части вопроса понятно для всех.<br> <code>shutdown.exe /?</code> показывает все варианты выключения/перезапуска/расширенных параметров загрузки/загрузки прошивки.</p><p>но я вижу столько ударов вокруг сна.<br> <em>все понимают, что <code>rundll32.exe</code> не следует использовать для вызова случайных функций, и он просто работает здесь для спящего режима полностью по стечению обстоятельств. но такова природа windows - черного ящика, который люди осматривали и находили сотни обходные пути для выполнения работы (кричать на dostips).</em></p><p>существует так много "<em>правильных</em>" решений, предлагающих <em>внешние инструменты</em>, но я не могу найти <em>собственный (гибридный/pinvoke/любой) пакетный скрипт</em>, даже если этот вопрос остается активным на протяжении многих лет.<br> так вот мой простой<strong> <a href="https://pastebin.com/9wyeqigs">power\_sleep.bat</a> </strong>:</p><pre><code>@echo off &mode 32,2 &color cf &title power sleep set "s1=$m='[dllimport ("powrprof.dll", setlasterror = true)]" set "s2=static extern bool setsuspendstate(bool hibernate, bool forcecritical, bool disablewakeevent);" set "s3=public static void powersleep(){ setsuspendstate(false, false, false); }';" set "s4=add-type -name import -member $m -namespace dll; [dll.import]::powersleep();" set "ps\_powersleep=%s1%%s2%%s3%%s4%" call powershell.exe -noprofile -noninteractive -nologo -executionpolicy bypass -command "%ps\_powersleep:"=\"%" exit </code></pre><p>это даже работает как большая однострочная команда:</p><pre><code>powershell.exe -c "$m='[dllimport("powrprof.dll",setlasterror=true)]static extern bool setsuspendstate(bool hibernate,bool forcecritical,bool disablewakeevent);public static void powersleep(){setsuspendstate(false,false,false); }';add-type -name import -member $m -namespace dll; [dll.import]::powersleep();" </code></pre>

<p>только <a href="http://www.softpedia.com/get/system/launchers-shutdown-tools/sleep-shortcut-for-windows-10.shtml"><strong> quick sleeper </strong></a> у меня работает (работает в windows 7,8,10).</p><p>постскриптум исходный код доступен <a href="http://j.mp/sleeptt">здесь</a> .</p>

<p>сначала вы должны отключить hibernate в windows, а затем перевести компьютер в состояние<strong><em> sleep </em></strong>. используйте следующие две команды:</p><pre><code>powercfg -hibernate off rundll32.exe powrprof.dll,setsuspendstate 0,1,0 </code></pre><p>и для выполнения обратного действия,<strong><em> hibernating </em></strong>компьютера, используйте команды ниже:</p><pre><code>powercfg -hibernate on rundll32.exe powrprof.dll,setsuspendstate hibernate </code></pre>

<p> <a href="https://web.archive.org/web/20120103114718/http://samanathon.com/windows-tip-shutdown-your-computer-with-the-command-prompt/">здесь</a> это статья об использовании cli для выключения.</p><p>microsoft предоставляет pstools, который дает вам отключение cli вместе с другими полезными инструментами. вы можете получить это <a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx">здесь</a> .</p>