Я хочу перевести мой ПК с Windows (Windows 7) в спящее состояние через командную строку (чтобы я мог привязаться к кнопке макроса на клавиатуре).
Кнопка питания на ПК настроена, но компьютер находится в спящем режиме (но он лежит на полу, и я слишком ленив, чтобы дотянуться до него) именно так, как я этого хочу (спит в гибридном режиме на случай потери питания)
Команда сна в меню выключения также работает.
большая часть информации, которую я нашел, говорит, чтобы использовать;
%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0
Но это переводит компьютер в режим гибернации. У меня действительно отключен спящий режим, но я использую гибридный сон.
Итак, какую команду использовать, чтобы перевести компьютер в спящий режим (не в спящий режим)?
windows-7
windows
command-line
Эрик Л
источник
источник
rundll32.exe PowrProf.dll,SetSuspendState
не рекомендуется Это опасно. (Потому что она разлагает стек, так как он не соответствовать подписи функции требуемой отRundll32
. Тогда непредсказуемые плохое может случиться, так как Рэймонд Чен предупреждает ...)Ответы:
Я нашел решение. Я установил бесплатную программу AutoHotKey и записал шаги для вызова меню «Пуск» -> «Режим сна» в файл сценария. Затем я собрал файл сценария в отдельный исполняемый файл SleepWin7.exe.
Теперь я просто запускаю SleepWin7.exe, чтобы перевести мой компьютер в гибридный режим сна.
Вы можете удалить AutoHotKey, если это все, что вам нужно.
Обновление: вышеупомянутое решение не работает, когда пользователь не вошел в систему, то есть Windows 7 Login Screen. (Мой компьютер просыпается в 4 часа утра каждое воскресенье, чтобы выполнять еженедельное резервное копирование, которое выполняется без входа пользователя.) В этом случае программа Wizmo все еще работает:
источник
nircmd.exe standby
больше информации можно найти здесь -> nirsoft.net/utils/nircmd.htmlНадеюсь, вы найдете это полезным.
Неисправность
%windir%\System32\shutdown.exe -s
перезагрузка
%windir%\System32\shutdown.exe -r
Выйти
%windir%\System32\shutdown.exe -l
Ожидать
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standbyзимовать
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState HibernateПредупреждение: rundll32.exe не должен использоваться для запуска powerprof.dll . Вместо этого вы должны вызвать SetSuspendState напрямую. Это можно сделать с помощью Powershell - создайте файл, например sleep.ps1, с указанным ниже содержимым.
Затем запустите его, используя
powershell -File C:\your-path\sleep.ps1
. Сначала вам может понадобиться запустить команду,Set-ExecutionPolicy RemoteSigned
чтобы включить сценарии powershell для запуска.Приведенный выше скрипт вызывает приостановку системы, которая будет либо в спящем режиме, либо в режиме гибернации, в зависимости от текущих настроек режима гибернации. Чтобы изменить этот параметр из командной строки, запустите
powercfg -h off
(илиon
) из командной строки от имени администратора.источник
Посмотрите бесплатную утилиту Wizmo , которая может делать очень много вещей.
Вероятно, вы ищете команду:
источник
wizmo.exe quiet standby
подавляет, возможно, раздражающие звуковые сигналыwizmo.exe
.Вы можете создать файл с расширением .ps1 (powershell), например «sleep.ps1», и написать это:
Я использую это, когда у меня что-то работает, и я должен покинуть компьютер и не хочу выключать его. Поэтому я изменил скрипт так, чтобы он выглядел так:
И теперь, когда я запускаю его, я просто ввожу минуты, которые хочу подождать до сна.
Вы можете запустить это из строки cmd, написав
Если вы никогда раньше не запускали сценарий PowerShell, вам нужно сначала запустить
в PowerShell, чтобы включить запуск сценария. Это нужно запустить только один раз.
источник
С Sysinternals PsTools [ скачать ]:
используя инструмент командной строки PsShutdown .
(Вы можете предпочесть это решение, если вы уже загрузили PsTools, оно довольно широко используется. В остальном этот подход эквивалентен использованию .)
wizmo
quiet standby
Источник: https://superuser.com/a/331545/21887
источник
Я использую эту утилиту SLEEP.EXE в течение многих лет. Он работает хорошо, и вам не нужно запоминать, какие аргументы выдавать для режима приостановки (его стандартная форма "sleep").
источник
чтобы отключить режим гибернации нужно использовать
теперь, rundll32 powrprof.dll, SetSuspendState переведет вашу станцию в режим ожидания.
[РЕДАКТИРОВАТЬ]
на самом деле я не могу настроить гибридный сон, потому что у меня есть ноутбук (состояние, которое недоступно на мобильных станциях), для гибридного сна нужно включить спящий режим, а некоторые говорят, что rundll32 powrprof.dll, SetSuspendState запускают сон по умолчанию режим в вашей панели управления \ настройки управления питанием. Пожалуйста, попробуйте, если rundll32 powrprof.dll, SetSuspendState гибридного сна дать некоторые результаты.
источник
Создайте файл bat, где 600 - задержка в секундах.
ping -n 600 -w 1 127.0.0.1> nul
powercfg -h выключен
% windir% \ System32 \ rundll32.exe powrprof.dll, SetSuspendState Standby
источник
Если вы компетентны в компиляции программы .NET, следующая команда сделает это
Примечание: вам не нужно отключать режим гибернации, как того требует
rundll32 powrprof.dll,SetSuspendState
команда. Вы также можете использовать,PowerState.Hibernate
который будет переводить компьютер в спящий режим, если хотите.Вы можете легко скомпилировать EXE с помощью этой команды с любой версией Visual Studio . Просто создайте консольное приложение и добавьте ссылку на
System.Windows.Forms
DLL.источник
Visual Studio
для компиляции. Вместо этогоcsc.exe
можно использовать компилятор командной строки . Он уже установлен во всех современных версиях Windows.