Выключение или перезагрузка компьютера из bat файла
Статья описывает, как выключить или перезагрузить компьютер на Windows из командной строки: PowerShell, JScript/VBScript с WSH, nhss, shutdown. А также дополнительно, как сделать выключение или перезагрузку с задержкой.
Выключить или перезагрузить компьютер из PowerShell
Выключить компьютер можно командной Stop-Computer из консоли PowerShell:
Перезагрузить компьютер можно командой Restart-Computer из консоли PowerShell:
Как это выглядит в консоли PowerShell:
Поскольку PowerShell сейчас устанавливается на Windows по умолчанию, то использование PS команды не требует дополнительных установок.
Чтобы выполнить выключение или перезагрузку через PowerShell из bat файла или из командной строки, их надо вызывать через powershell.
Например, команда перезагрузки локального компьютера в bat файле или командной строке:
Аналогично, команда выключения локального компьютера в bat файле или командной строке:
Выключить или перезагрузить компьютер из JScript/VBScript через WSH
Способ основан на использовании метода Win32Shutdown класса Win32_OperatingSystem:
Выключить компьютер можно следующим скриптом на JScript:
Перезагрузить компьютер можно следующим скриптом на JScript:
Пример на VBScript, с forced restart (добавляется 4):
Поскольку WSH сейчас установлен по умолчанию на Windows, то использование JScript/VBScript не требует установки каких-либо программных компонентов.
Выключить или перезагрузить компьютер программой nhss
Программа nhss предназначена для управления питанием компьютера и позволяет выполнять такие команды, как выключение, перезагрузка, ждущий режим, спящий режим.
Выключить компьютер можно следующей командой:
Перезагрузить компьютер можно следующей командой:
Команды просты в использовании, но потребуется установить программу nhss.exe и прописать путь к ней.
Выключить или перезагрузить компьютер командой shutdown
Выключить компьютер можно следующей командой:
Перезагрузить компьютер можно следующей командой:
Важно! Команда shutdown делает «грубое» завершение Windows, которое на практике приводило к тому, что не сохранялись настройки, сделанных в Windows в текущем сеансе. Поэтому хотя и выключение/перезагрузка компьютера через shutdown действительно срабатывает, я бы не рекомендовал использование shutdown для обычного завершения, а только для экстренных случаев, когда требуется максимально быстро завершить Windows, например, в случае Low Battery на ИБП.
Как выключить компьютер по таймеру
Чтобы настроить выключение компьютера через определенное время, например, через 1 час, это можно сделать выполнением команды выключения с задержкой, см. Сделать задержку в командном файле:
Или через PowerShell с задержкой в 30 минут:
Скрипт замены текста в файле
Синтез речи в скрипте и bat файле
Размер выделенной памяти в командной строке Windows
Выключение или перезагрузка компьютера из bat файла : 1 комментарий
echo off
chcp 1251
cls
😡
cls
set /p any=»Завершение работы- 1, перезагрузка- 2, отключение таймера- 0. Выберите действие: »
cls
set j=%any%
if %j% == 3 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 4 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 5 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 5 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 6 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 7 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 8 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 9 (
msg * Такого значения не существует.
echo Такого значения не существует.
ping -n 2 127.0.0.1 > NUL
cls
goto x
) else (
cls
)
if %j% == 0 (
shutdown /a
msg * Таймер был отключён!
cls
exit
) else (
cls
)
if %any% == 1 (
echo Вы выбрали- завершение работы
ping -n 2 127.0.0.1 > NUL
cls
) else (
echo Вы выбрали- перезагрузку
ping -n 2 127.0.0.1 > NUL
cls
)
if %any% == 1 (
set /p sec=»Введите время до завершения работы (в минутах): »
) else (
set /p sec=»Введите время до перезагрузки (в минутах): »
)
set /a min=%sec%*60
cls
if %any% == 1 (
shutdown /s /t %min%
msg * Компьютер выключится через %sec% минут!
) else (
shutdown /r /t %min%
msg * Компьютер перезагрузится через %sec% минут!
)
Кодировка ANSI
Вот довольно простой и функцианальный батник
Жизнь без алкоголя запойного алкоголика | Родная душа – статьи, компьютер, Интернет | Создание, оптимизация сайтов, блогов | HTML, CSS, ява-скрипт.
Записки алкоголика.
(Прикладное бумаготворчество.
Литературный алкогольный стеб)
Выключение компьютера по расписанию
Разработчиком операционной системы Windows предусмотрена возможность выключения или перезагрузки компьютера по расписанию. Как таковой, кнопки выключения с указанием параметров не существует. Для этого нужно воспользоваться командной строкой и другими штатными (встроенными) средствами Windows. Этот способ особенно хорош тем, что работает всегда и везде, поскольку разработан и предусмотрен непосредственно самим разработчиком операционной системы. Проверено на Windows XP, Windows 7, Windows 8.1
Выключение или перезагрузка компьютера по расписанию
(в заданное время) штатными (встроенными) средствами Windows
Выключение и перезагрузка компьютера по расписанию
(в заданное время) из командной строки (MS DOS)
С незапамятных времён, в комплект поставки всех операционных систем семейства MS Windows входит дисковая операционная система (сокращённо – MS DOS), которая не имеет привычного пользовательского интерфейса для «бацанья» по нём мышкой. Управление MS DOS производится методом клавиатурного введения набора текстовых команд в специальном окне, в так называемой командной строке . Командная строка работает на любом компьютере, находящимся под управлением любой модификации операционной системы MS Windows.
В операционной системе MS Windows, из командной строки можно сделать абсолютно все, на что только способна эта система.
Командную строку можно вызвать одним из способов:
- нажать комбинацию клавиш Win+R, ввести cmd.exe, нажать ОК
- «Меню Пуск > Выполнить», ввести cmd.exe, нажать ОК
- «Меню Пуск > Все программы > Стандартные > Командная строка»
В любом случае, откроется окно MS DOS
(командная строка для ввода текстовой команды)
Именно в ней (в командной строке) мы будем:
- включать и выключать таймер обратного отсчёта ДО
выключения или перезагрузки компьютера
(т.е. указывать, через сколько времени произвести действие)
выключения или перезагрузки компьютера
(т.е. указывать, когда именно произвести действие)
Все манипуляции сводятся к обращению к файлу shutdown.exe
и указанию нужных параметров
Параметры и синтаксис команды shutdown
(для обращения к файлу shutdown.exe)
Файл shutdown.exe отвечает за выключение операционной системы Windows, её перезагрузку и т.д. Для получения перечня параметров запуска файла shutdown.exe из командной строки – жмём сочетание клавиш Win+R, в открывшемся окне вводим cmd.exe (переходим в MS DOS) и уже в DOS-овском окне (вручную) вводим «shutdown /?» (без кавычек). Жмём «OK» (клавиша «Enter»). В ответ система выдаст полный перечень параметров команды shutdown:
Что касается синтаксиса параметров для команды shutdown, то MS DOS понимает оба варианта записи – и через дефис (знак минус «—» на цифровой клавиатуре) и через слеш (косую черту на цифровой клавиатуре):
- shutdown /s /f /t 2000 равносильно shutdown -s -f -t 2000
- at 23:15 shutdown /r /f равносильно at 23:15 shutdown -r -f
В нашем случае, принципиальной разницы между слешем и дефисом нет. Гораздо важнее помнить о расстановке пробелов (space). Поскольку, в понимании операционной системы, слеш равен дефису с пробелом , то без пробела – может не работать.
Для примера, на скриншоте вверху, я по очереди вводил команды «shutdown-?» и «shutdown -?», а также «shutdown/?» и «shutdown /?». Ответ системы очевиден.
Упрощённый ввод команды shutdown
(окно «Выполнить»)
Чтобы включить/остановить таймер обратного отсчёта или установить/удалить точное время для выключения или перезагрузки компьютера из командной строки, вовсе не обязательно изощряться в неудобном доисторическом DOS-овском окне и вручную набирать текст команды. Гораздо проще вызвать окно «Выполнить» и вставить в него скопированный текст команды. Скопировать текст команды можно прямо со страницы этого сайта.
Вызвать окно «Выполнить» можно так:
- Нажимаем сочетание клавиш Win+R
- «Меню Пуск > Выполнить»
- «Меню Пуск > Все программы > Стандартные > Выполнить»
(тексты команд смотрим в таблице, ниже)
Вуаля! Все просто!
Прим. При ручном вводе команды с клавиатуры нужно обратить особое внимание на синтаксис написания команды, т.е. на расстановку пробелов, слешей, дефисов и т.д.
Включение из командной строки
таймера обратного отсчёта
для выключения и перезагрузки компьютера по расписанию
Включение таймера обратного отсчёта из командной строки позволяет установить ОДНОРАЗОВЫЙ таймаут в секундах до выключения или перезагрузки компьютера. (36000 сек. =10 часов, 12600 сек. = 35 часов, 360000сек. = 100 часов и т.д. Максимум 315360000 сек = 10 лет.). Такая задача будет выполнена только ОДИН раз, после чего процедуру назначения задачи нужно будет повторить. Если нужно, чтобы компьютер систематически выключался по расписанию (в одно и то же время), то тогда нужно использовать исполнительный (пакетный) файл или планировщик заданий
Чтобы включить или выключить таймер обратного отсчёта – открываем окно «Выполнить» (Win+R), вводим нужную команду и жмем ОК.
Время до выключения (перезагрузки) компьютера нужно вводить в секундах.
Значения времени, естественно – у каждого своё.
Отменить команду на выключение или перезагрузку компьютера.
Правильный ввод команды подтверждается соответствующими всплывающими окнами в трее. Всплывающие окна должны появляться после каждого правильного введения команды. Выглядят они, примерно так:
| Реакция системы на команду выключить или перезагрузить компьютер через 33мин = 2000 секунд | |
| Реакция системы на команду по отмене команды на выключение или перезагрузку компьютера | |
| За несколько минут до выполнения задачи система уведомляет об скором окончании обратного отсчёта |
Установка из командной строки
точного времени текущей даты
для выключения и перезагрузки компьютера
Установка точного времени текущей даты из командной строки позволяет назначить точное время текущей даты для выключения или перезагрузки компьютера. Такая задача будет выполнена только ОДИН раз, после чего процедуру назначения задачи нужно будет повторить. Если нужно, чтобы компьютер систематически выключался по расписанию (в одно и то же время), то тогда нужно использовать исполнительный (пакетный) файл или планировщик заданий
Чтобы установить точное время текущей даты для выключения или перезагрузки компьютера – открываем окно «Выполнить» (Win+R), вводим нужную команду и жмем ОК.
Время выключения (перезагрузки) компьютера нужно вводить в указанном формате.
Значения времени, естественно – у каждого своё.
at 23:15 shutdown /s /f



