Я знаю, что почти все в Windows, например открытие любого приложения, можно выполнить из командной строки или из меню Выполнить . .
Как перевести компьютер в сон или выключить ? Какая для этого нужна команда?
Вы найдете shutdown.exe
своим другом.
Другие удобные команды см. в этом посте:
Sleep Computer (подробнее на https://superuser.com/a/463652/249349)
Заблокировать рабочую станцию
Компьютер в спящем режиме
см. ответы Скотта Чемберлена и Эрика Л.
Перезагрузить компьютер
Shutdown.exe -r -t 00
Завершение работы компьютера
Shutdown.exe -s -t 00
ИЗМЕНИТЬ/ОБНОВИТЬ:
Кажется, что спящий компьютер проблематичен, если спящий режим включен.
Копирование из других ответов:
Вы можете попробовать PsShutdownor:
Команда rundll32. exe powrprof.dll, SetSuspendState 0,1,0 для сна является правильным, однако он перейдет в режим гибернации вместо сна, если вы не отключите его.
Вот как это сделать:
Перейдите в меню «Пуск» и откройте командную строку с повышенными привилегиями, набрав cmd.exe, ri Нажмите и выберите Запуск от имени администратора. Введите следующую команду:
powercfg -hibernate off
Методы, опубликованные другими людьми, работают некорректно, если на компьютере включен режим гибернации, компьютер не выходит из спящего режима с помощью клавиатуры или, что более важно, не выходит из спящего режима при выполнении запланированной задачи.
Одним из инструментов Microsoft Sysinternals является PsShutdown с помощью команды psshutdown -d -t 0
, он будет правильно спать, не переходить в спящий режим , компьютер
7
Команда rundll32.exe powrprof.dll, SetSuspendState 0,1,0
для сна является правильным, однако он перейдет в режим гибернации вместо сна, если вы не отключите его.
Вот как это сделать:
Перейдите в меню «Пуск» и откройте командную строку с повышенными привилегиями, набрав cmd.exe
, щелкнув правой кнопкой мыши и выбрав Запуск от имени администратора . Введите следующую команду:
powercfg -hibernate off
5
NirCmd работает в Windows 8 (я предполагаю, что он также работает с Windows 7) → http://www.nirsoft.net/ utils/nircmd.html
Команда находится в режиме standby
, но переводит компьютер в спящий режим.
nircmd.exe standby
Если у вас включен гибридный сон, он будет работать; т.е. переводит компьютер в спящий режим и копирует память на диск в случае отключения питания.
1
Смотрите бесплатные утилита Wizmo, которая может делать очень много вещей.
Вероятно, вам нужна следующая команда:
wizmo standby
5
Вы можете активировать параметры приостановки или гибернации из командной строки, как указано ниже, и упоминается в этой статье.
% windir% System32 rundll32.exe powrprof.dll, SetSuspendState
Если ваш компьютер установлен, чтобы разрешить спящий режим, то указанная выше команда запустит спящий режим. Если функция гибернации отключена, он перейдет в состояние ожидания. Как уже ранее ответили другие пользователи, shutdown.exe/?
предоставит множество вариантов завершения работы.
1
Я создал ярлык для rundll32.exe powrprof.dll, SetSuspendState 0,1,0
(тоже пробовал с 0,0,0), но запуск ярлыка, похоже, переводил мой компьютер в спящий режим. Я не мог разбудить компьютер с помощью клавиатуры; Мне пришлось нажать кнопку питания, и ПК показал сообщения на материнской плате и т. Д.
Прочитав документ Windows API, я создал очень простую программу всего с 3 строками ввода. Я загрузил скомпилированный мной исполняемый файл на эту страницу (щелкните «SleepTest.exe»), но этот файл через некоторое время можно удалить (это бесплатный сайт для размещения файлов, который я только что нашел с помощью быстрого поиска в Google).
Если вы мне не доверяете (что совершенно нормально) или файл был удален, вы, конечно, можете скомпилировать код самостоятельно. Вам необходимо добавить PowrProf.lib к дополнительным зависимостям компоновщика.
#include "stdafx.h" #include "windows.h"
rundll32.exe powrprof.dll, SetSuspendState 0,1,0
, похоже, делает то же самое, но почему-то программа, указанная выше, не переводила компьютер в спящий режим. Я мог мгновенно разбудить компьютер (без сообщений на материнской плате и т. Д.), Нажав любую клавишу на клавиатуре.
Часть вопроса, связанная с выключением, понятна для всех.
shutdown.exe/?
показывает все варианты выключения/перезапуска/дополнительных параметров загрузки/загрузки прошивки.
Но я вижу, как много шума разбрасывается по поводу сна.
Все понимают, что rundll32. exe
не следует использовать для вызова случайных функций, и здесь он работает для спящего режима полностью случайно. Но такова природа Windows — черный ящик, в котором люди ковырялись и находили сотни обходных путей для выполнения работы (крик до советов).
Их так много. « правильные » решения, предлагающие внешние инструменты , но я не могу найти собственный (гибридный/pinvoke/любой другой) пакетный сценарий , даже если этот вопрос оставался активным на протяжении многих лет.
Итак, вот мой простой power_sleep.bat :
@echo off & mode 32,2 & color cf & title Power Sleepset "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
Он даже работает как большая однострочная команда:
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 (); "
Вы должны сначала отключить спящий режим в Windows, а затем перевести компьютер в состояние сна . Используйте следующие две команды:
powercfg -hibernate offrundll32.exe powrprof.dll, SetSuspendState 0,1,0
и для выполнения обратного действия Перевести компьютер в режим гибернации, используйте следующие команды:
powercfg -hibernate onrundll32.exe powrprof.dll, SetSuspendState Hibernate
4
Если у вас есть Python (с pywin32), вы также можете вызвать эту функцию SetSuspendState напрямую с помощью:
import ctypesctypes.windll.PowrProf.SetSuspendState (0, 1, 0)
Это может быть легко быть помещенным в пакетный файл или ярлык типа:
pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState (0, 1, 0) "
Итак, если у вас нет файлов .py, связанных с интерпретатором, вы можете просто дважды щелкнуть связь.
Вот статья об использовании интерфейса командной строки для завершения работы.
Microsoft предоставляет PsTools, который позволяет завершить работу через интерфейс командной строки вместе с другими полезными инструментами. Вы можете получить это здесь.
у меня работает только QUICK SLEEPER (работает в Windows 7,8,10).
ps исходный код доступен здесь.
2