- Как включить спящий режим через командную строку в Windows 10 или Windows 7
- Как выполнить bat скрипт перед гибернацией Windows?
- «На сон грядущий» или таймер выключения Windows из командной строки
- В большинстве своем всё новое это хорошо забытое старое.
- Есть всем известное выражение которое многим нравится:
- Мораль:
- Как включить спящий режим через командную строку в Windows 10 или Windows 7
- Режим гибернации и гибридный спящий режим в Windows
- Блог did5.ru
- Режим гибернации через командную строку Windows 7
Как включить спящий режим через командную строку в Windows 10 или Windows 7
Для того чтобы включить спящий режим с помощью мышки достаточно сделать несколько кликов в меню «Пуск». Но, если нужно выполнить такую же процедуру через командную строку, то это становится немного сложнее. Особенно если учесть, что стандартная команда shutdown, которая используется для выключения и перезагрузки, в данном случае не поможет.
В этой небольшой инструкции мы рассмотрим сразу два способа, как можно включить спящий режим через командную строку в операционных системах Windows 7 и Windows 10.
Вариант № 1. Включение спящего режима с помощью Rundll32.exe.
Первый вариант предполагает использование программы Rundll32.exe. Это стандартная программа, которая входит в состав Windows 7 и Windows 10, и используется для выполнения функций, находящихся в DLL-файлах. Принцип работы Rundll32 очень прост. В нее передается название DLL-файла, название функции внутри DLL, а также параметры для выполнения. После этого Rundll32 выполняет указанную функцию и данного файла.
Для того чтобы включить спящий режим через командную строку с помощью Rundll32 нужно выполнить следующую команду:
Как видно, команда rundll32 запускает функцию SetSuspendState, которая находится в powrprof.dll. При этом в функцию передается три параметра (0, 1, 0). Больше информации о функции SetSuspendState можно получить на сайте Microsoft.
Нужно отметить, что если на компьютере включен гибридный режим сна, то при выполнении указанной команды будет использоваться именно он. Для того чтобы компьютер переходил в спящий режим, гибридный режим нужно отключить. Для этого нужно запустить командную строку с правами администратора и выполнить указанную ниже команду.
Также, возможно, вам будет полезна стандартная команда « shutdown ». С ее помощью можно выполнить выключение, перезагрузку и переход в гибернацию (спящий режим не поддерживается). Более подробно о команде « shutdown » можно почитать в наших статьях:
Вариант № 2. Включение спящего режима с помощью PsShutdown.
Второй вариант заключается в использовании программы PsShutdown. Данная программа не является частью Windows, но ее можно бесплатно скачать с сайта Microsoft. После скачивания архив нужно распаковать в любую папку и программа готова к работе, никакой установки не требуется.
PsShutdown – это консольная программа, которую нужно запускать из командной строки. Ее можно использовать для выключения локального или удаленного компьютера, включения режима сна или гибернации, выхода из системы или отмены неизбежного выключения. Полный список параметров можно посмотреть на официальной странице.
Для того чтобы перевести локальный компьютер в спящий режим с помощью PsShutdown нужно выполнить следующую команду:
Где параметр « -d » активирует переход в спящий режим, а параметр « -t 0 » выполняет команду немедленно (через 0 секунд).
Как выполнить bat скрипт перед гибернацией Windows?
Под виндой перед уходом в гибернацию встала необходимость потушить несколько програм, отключить сетевой диск, и пара других вещей. Для всего этого написан bat скрипт который это все умеет делать.
Внимание вопрос. Как заставить винду перед уходом в гибернацию запустить этот скрипт, дождаться завершения его выполнения, и только потом уходить в спячку как положено? Повторюсь, очень важно запустить скрипт ДО ухода в гибернацию и дождаться завершения его выполнения.
Перед спящим режимом, выходом из сессии, и т.п. необходимости выполнять скрипт нет. Нужно только перед уходом в гибернацию.
- Вопрос задан более двух лет назад
- 745 просмотров
Да, у меня была подобная мысль и я пробовал эксперементировать в эту сторону. Но тригера по уходу в гибернацию я не нашел. Есть общее событие и для спящего режима и для гибернации — System/Kernel-Power/event ID 42
Но, как показали эксперементы, событие обрабатывается уже ПОСЛЕ того как компьютер вышел из гибернации. Т.е. смотрим лог:
при этом скрипт:
ECHO sleep42 %date% %time% >> «test.log»
по этому событию выполнен:
sleep42 15.05.2018 0:09:49,31
т.е. аж после пробуждения.
Это же касается и спящего режима тоже. Т.е. само событие обрабатывается не до ухода в гибернацию/спящий режим, а после пробуждения из оного. Что соответственно мне не подходит(
«На сон грядущий» или таймер выключения Windows из командной строки
Ценность этой статьи скорее не в самом решении, а в напоминании как можно быстро решать простые задачи.
Но если Вам нужно простое решение — пожалуйста:
Сохраните в CMD эти строки и после запуска через 20 минут (1200 секунд) компьютер перейдет в спящий режим. Итого программа заняла 73 байт:
Но если Вам нужно именно выключить, то всё будет еще короче, а именно 47 байт. Просто вторая строка будет выглядеть:
Использую это перед сном, включая свое любимое онлайн радио «на сон грядущий» так же из командной строки, о чём будет рассказано под катом.
Кому все таки стало любопытно, прошу под кат. Ссылки на готовые скрипты в конце статьи.
В большинстве своем всё новое это хорошо забытое старое.
Сначала рассмотрим что делают эти строки:
Пингуем IP адрес который всегда доступен (разве что Ваш firewall настроен «с выдумкой»). Интервал по умолчанию 1000 мс = 1 секунда. Ключ -n задает количество повторений 20 минут х 60 секунд = 1200 + 1 (т.к. первый пинг возвращается менее чем через 1 мс). А конструкция > nul говорит интерпретатору что стандартный вывод будет направляться в nul дабы избавиться от ненужного вывода на экран.
Происходит вызов программы rundll32.exe, которая позволяет выполнить подпрограмму из динамической библиотеки. В данном случае SetSuspendState с нужными нам параметрами. Подробное описание в MSDN.
Следует заметить, что если у вас включен гибридный режим сна (Hibernate), то войдет он именно в этот режим. Отключить его можно запустив от имени администратора следующее:
Запуск моего любимого интернет радио через Winamp в отдельном потоке.
Заблокировать рабочую станцию (WIN + L).
Гибридный режим сна (Hibernate).
Старая шутка с включением режима мыши для левши (меняются левая и правая кнопка мыши).
Отменить шутку с мышкой можно вызвав диалог настройки мыши и отключив эту функцию.
Переместить курсор в левый верхний угол.
Расположить все не свернутые окна каскадом.
Расположить все не свернутые окна по вертикали.
Еще много интересного можно найти на просторах интернета и придумать, вспоминая документацию по WinAPI функциям.
Есть всем известное выражение которое многим нравится:
Немного истории:
Еще в далёком 2003 году для выключения ПК по таймеру на скорую руку писалась простенькая программка. Писал сам, ибо знакомых программистов и доступа к интернету в то время у меня не было. Уверен, что много таких же «домашних программистов», которые купив или нарезав на болванки MSDN изучали программирование под Windows ночи напролёт. По случаю написания статьи отрыл ее в старом архиве на родительском ПК. Выглядела она незатейливо, но задачу свою выполняла. Как оказалось, даже сейчас ей пользуются несколько моих знакомых.
На чём она была написана уже и не помню (VC, VB, Delphi или Assembler). Размер ее был тоже не большим, но все же 16 166 против 47 байт не идут ни в какое сравнение.
И когда пару дней назад мне понадобился такой же функционал я полез искать похожий софт. Каково же было моё разочарование, когда я нашел кучу программ в среднем от 1,1 Мб до огромных монстров 15,2 Мб размером. Естественно совесть мне не позволила даже в песочнице запустить эту ересь. Понимая что мне нужна задержка выполнения в 20 минут и вызов одной лишь процедуры я вспомнил про rundll32.exe, полез в инет и не ошибся. В итоге решение было найдено за 1 минуту.
Мораль:
Зачастую для решения простых задач нам не нужен сторонний софт. Достаточно просто зайти в поисковик и найти простое решение задачи, которое в 98,785% уже есть в свободном доступе. Конечно же нужно упомянуть и другой путь, для настоящих ИТ-шников, включить воображение, зайти в мануалы MSDN и воспользоваться готовым функционалом ОС. Согласитесь, приятно пользоваться простыми и элегантными решениями, но вдвойне приятнее когда до их решения ты дошел своим умом.
Как включить спящий режим через командную строку в Windows 10 или Windows 7
Для того чтобы включить спящий режим с помощью мышки достаточно сделать несколько кликов в меню «Пуск». Но, если нужно выполнить такую же процедуру через командную строку, то это становится немного сложнее.
Особенно если учесть, что стандартная команда shutdown, которая используется для выключения и перезагрузки, в данном случае не поможет.
В этой небольшой инструкции мы рассмотрим сразу два способа, как можно включить спящий режим через командную строку в операционных системах Windows 7 и Windows 10.
Вариант № 1. Включение спящего режима с помощью Rundll32.exe.
Первый вариант предполагает использование программы Rundll32.exe. Это стандартная программа, которая входит в состав Windows 7 и Windows 10, и используется для выполнения функций, находящихся в DLL-файлах. Принцип работы Rundll32 очень прост. В нее передается название DLL-файла, название функции внутри DLL, а также параметры для выполнения. После этого Rundll32 выполняет указанную функцию и данного файла.
Для того чтобы включить спящий режим через командную строку с помощью Rundll32 нужно выполнить следующую команду:
rundll32 powrprof.dll,SetSuspendState 0,1,0
Как видно, команда rundll32 запускает функцию SetSuspendState, которая находится в powrprof.dll. При этом в функцию передается три параметра (0, 1, 0). Больше информации о функции SetSuspendState можно получить на сайте Microsoft.
Нужно отметить, что если на компьютере включен гибридный режим сна, то при выполнении указанной команды будет использоваться именно он. Для того чтобы компьютер переходил в спящий режим, гибридный режим нужно отключить. Для этого нужно запустить командную строку с правами администратора и выполнить указанную ниже команду.
powercfg -hibernate off
Также, возможно, вам будет полезна стандартная команда « shutdown ». С ее помощью можно выполнить выключение, перезагрузку и переход в гибернацию (спящий режим не поддерживается). Более подробно о команде « shutdown » можно почитать в наших статьях:
- Выключение компьютера через командную строку
- Как перезагрузить компьютер через командную строку
Вариант № 2. Включение спящего режима с помощью PsShutdown.
Второй вариант заключается в использовании программы PsShutdown. Данная программа не является частью Windows, но ее можно бесплатно скачать с сайта Microsoft. После скачивания архив нужно распаковать в любую папку и программа готова к работе, никакой установки не требуется.
PsShutdown – это консольная программа, которую нужно запускать из командной строки. Ее можно использовать для выключения локального или удаленного компьютера, включения режима сна или гибернации, выхода из системы или отмены неизбежного выключения. Полный список параметров можно посмотреть на официальной странице.
Для того чтобы перевести локальный компьютер в спящий режим с помощью PsShutdown нужно выполнить следующую команду:
psshutdown.exe -d -t 0
Где параметр « -d » активирует переход в спящий режим, а параметр « -t 0 » выполняет команду немедленно (через 0 секунд).
Обратите внимание , для того чтобы команда сработала, нужно указывать полный путь к файлу « psshutdown.exe ». Например, если вы распаковали программу в папку « c:\psshutdown\ », то полная команда будет выглядеть вот так:
c:\psshutdown\psshutdown.exe -d -t 0
Режим гибернации и гибридный спящий режим в Windows
Блог did5.ru
Про АйТи и около айтишные темы
Режим гибернации через командную строку Windows 7
Я уже давно не выключаю компьютер, т.к. мне не хочется пару минут по утрам смотреть как он загружается, а потом еще 5 — 10 минут запускать софт и открывать нужные документы. После работы я просто перевожу компьютер в режим гибернации, одним нажатием кнопки на системном блоке, и выключаю сетевой фильтр. А утром включаю ПК и через 15-20 секунд я уже могу работать. К хорошему быстро привыкаешь. Накануне под конец рабочего дня я копировал большой файл по сети, оставалось еще 2 часа, а рабочий день уже закончился. Оставлять компьютер включенным на все выходные не хотелось, поэтому нужно было перевести ПК в режим гибернации через определенное время.
Я знал, что выключить компьютер через некоторое время можно командой shutdown /s /t 45, а вот можно ли перевести ПК в режим гибернации с помощью этой утилиты предстояло выяснить.
Просмотрел справку — shutdown.exe /?, переход в режим гибернации через командную строку осуществляется командой shutdown /h. Но есть и плохая новость, нельзя задать интервал для этой команды, в справке написано, что можно, но не работает.
Можно через Планировщик заданий решить данную задачу, но мне очень не хотелось все это настраивать через графический интерфейс, т.к. задача простая, а кликать мышкой пришлось бы много.
Решение нашлось с помощью утилиты ping, Каждый пинг – это секунда, а значит можно задать нужное количество пингов, а потом выполнить команду перехода в режим гибернации. Вот такая команда получилась:
Параметр –n определяет сколько пингов будет, т.е. сколько секунд. Если нужно перевести компьютер в режим гибернации через 2 часа, то задаем –n 7200.
Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!
Хотите поблагодарить автора за эту заметку? Вы можете это сделать!