Как выключить компьютер через vbs

Обновлено: 07.07.2024

Батник "shutdn.cmd". Т.к. все это вызывалось интерактивно (из HTA), то в банике присутствует пинг отключаемой машины после выполнения команд и пауза - для так сказать визуального контроля, Вам же это по идее надо "зарэмить":
Код:
:: Run Shutdown/Reboot remote computer.
:: ------------------------------------
:: Usage: C:\WINDOWS\system32\shutdown.EXE [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
:: No args Display this message (same as -?)
:: -i Display GUI interface, must be the first option
:: -l Log off (cannot be used with -m option)
:: -s Shutdown the computer
:: -r Shutdown and restart the computer
:: -a Abort a system shutdown
:: -m \\computername Remote computer to shutdown/restart/abort
:: -t xx Set timeout for shutdown to xx seconds
:: -c "comment" Shutdown comment (maximum of 127 characters)
:: -f Forces running applications to close without warning
:: -d [u][p]:xx:yy The reason code for the shutdown
:: u is the user code
:: p is a planned shutdown code
:: xx is the major reason code (positive integer less than 256)
:: yy is the minor reason code (positive integer less than 65536)

@Echo off
If %1.==. Goto NO_PARAM
If %2.==. Goto NO_PARAM
If %2==s Goto RUN_SHUTDN
If %2==S Goto RUN_SHUTDN
If %2==r Goto RUN_REBOOT
If %2==R Goto RUN_REBOOT
If %2==a Goto ABORT_SHTDN
If %2==A Goto ABORT_SHTDN

:RUN_SHUTDN
@Echo on
shutdown -t 10 -c "This computer forced SHUTDOWN ! Administrator domain." -m \\%1 -f -s
@Echo.
@Echo Return Code = %ERRORLEVEL%
@Echo.
ping -w 100 -t -a %1
@Goto THE_END

:RUN_REBOOT
@Echo on
shutdown -t 10 -c "This computer forced REBOOT ! Administrator domain." -m \\%1 -f -r
@Echo.
@Echo Return Code = %ERRORLEVEL%
@Echo.
ping -w 100 -t -a %1
@Goto THE_END

:ABORT_SHTDN
@Echo on
shutdown -m %1 -a
ping -w 100 -t -a %1
@Goto THE_END

:NO_PARAM
Echo.
Echo -!- Need parameters:
Echo 1) Name (or IP) remote computer;
Echo 2) [s]-shutdown or [r]-reboot or [a]-abort a system shutdown

Статья описывает, как выключить или перезагрузить компьютер на 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 файла

You May Also Like

Узнать uptime в скрипте или bat файле

Проверка компьютера с отправкой смс

Проверить, запущен ли CMD файл или WSH скрипт

Выключение или перезагрузка компьютера из bat файла : 1 комментарий

echo off
chcp 1251
cls
:x
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% минут!
)

2. Click Change what the power buttons do.

3. Click Change settings that are currently unavailable.

4. Scroll down to the bottom of that window to find the "Shutdown settings" section.

5. Click the box next to Hibernate to enable the option.

6. Click Save changes.

In other words, if you want your system to hibernate when you press the power button or close the lid, this is where you can configure that setting. Good stuff! "

Ну, вроде элементарно, перевод не нужен..

В Windows XP существует несколько способов перезагрузки компьютера:

1. Через меню "Пуск" - "Выключить компьютер" или "Диспетчер задач Windows" - "Завершение работы".
2. С помощью системных утилит shutdown.exe и tsshutdn.exe или утилит от сторонних производителей.
3. С помощью скриптов VBScript и JScript.
4. Другие экзотические способы.

Режимы завершения работы Windows в свою очередь подразделяются на:

1. Системные режимы:

2. Профили питания:

- Ждущий режим (режим ожидания, сон) aka StandBy (S1-S3) / Sleeping (Suspend to RAM)
- Спящий режим (гибернация) aka Hibernate (S4) / Sleeping (Suspend to disk) - полноценно только в 2k и выше
- Гибридный режим (нечто среднее между ждущим и спящим) aka Hybrid (только Windows Vista и выше)
- Завершение работы с выключением компьютера (на ATX, на AT перезагрузка) aka Soft off (S5) / Power off / Turn off

"shutdown.exe -s -f -t 0" - форсированное выключение, без ожидания пользовательских подтверждений, где -t 0 это время, после которого произойдет выключение (по умолчанию, если параметр -t не указан, это 30 секунд); если параметр -t отличается от 0, параметр -f (форсированно) применяется автоматически, т.е. можно не указывать

"shutdown.exe -r -f -t 0" - форсированная перезагрузка

"shutdown.exe -l" - завершение сеанса (в XP ошибочно форсированно, параметр -f здесь работает обратно своей функции, отменяя форсирование, исправлено в Windows 2003 и выше), параметр -t игнорируется

"shutdown.exe -p" - выключение питания (Power off) без ожиданий и предупреждений, доступно только в 2003 и выше (в XP только, если использовать экзешник от 2003), оригинальное описание параметра: Turn off the local computer with no time-out or warning. Can be used with /d and /f options. (в 2003 параметр /f ошибочно не указан)

"shutdown.exe -h" - гибернация, может использоваться с параметром -f, доступна только в 2003 и выше (в XP только, если использовать экзешник от 2003), оригинальное описание параметра: Hibernate the local computer. This can only be used with the /f option. Эквивалентно меню "Пуск" - "Выключить компьютер" - "Спящий режим" (с кнопкой Shift)

"shutdown.exe -g" - перезагрузка с перезапуском всех запущенных до перезагрузки программ, доступна только в Vista и выше, оригинальное описание параметра: Shutdown and restart the computer. After the system is rebooted, restart any registered applications.

"shutdown.exe -a" - отмена операции, возможна только в течение периода, указанного параметром -t

"shutdown.exe -i" - запуск программы в режиме GUI

Утилита shutdown.exe из состава Windows XP или Windows 2003 также может использоваться и в Windows 2000.

"tsshutdn.exe 0" - выключение (не форсированно, где 0 это время, после которого произойдет выключение; по умолчанию, если параметр не указан, это 60 секунд, в течении которых операцию можно отменить, нажав Ctrl+C в консоли)

"tsshutdn.exe 0 /powerdown /delay:0" - выключение питания (Power Off), форсированно, без ожидания пользовательских подтверждений, где /delay 0 это дополнительная задержка перед выполнением операции, по умолчанию равная 30 секундам)

"tsshutdn.exe 0 /reboot /delay:0" - перезагрузка (форсированно), иногда выливается в перезагрузку только текущего сеанса без полного выхода из системы

"tsdiscon.exe" - смена пользователя (также доступна по команде "rundll32.exe user32.dll,LockWorkStation" или комбинации Win+L, но способ немного отличается и чуть дольше по времени)

"rundll32.exe powrprof.dll,SetSuspendState" - гибернация или ждущий режим (если гибернация отключена в системе), отключить гибернацию можно как в настройках электропитания так и с помощью команды "powercfg.exe /hibernate off" или "powercfg.exe /h off", последний способ рекомендуется для Windows Vista и выше, т.к. отключения через Панель управления на этих системах недостаточно

Утилиты tsshutdn.exe и tsdiscon.exe предназначены для завершения работы серверов, использовать их на домашних компьютерах нецелесообразно. Исполняемые файлы этих утилит из состава Windows XP можно использовать и в серверных редакциях Windows 2000 (в Windows 2000 Professional нет, т.к. для работы требуются Службы терминалов), однако утилита tsdiscon.exe в Windows 2000 на практике не работает. В Windows 2k также работает указанная команда с rundll32. Экзешник powercfg.exe от Windows XP также запускается под Win 2k, но его функциональность под вопросом.

Завершение работы с помощью rundll32.exe (Windows 9x/ME/NT): - в этом разделе каша полная, недотестил.
------------------------------------------------------------

rundll(32).exe user32.dll,ExitWindowsEx - завершение сеанса (форсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx - завершение сеанса (нефорсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx 0 - завершение сеанса (нефорсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx 1 - завершение работы (нефорсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx 2 - перезагрузка (нефорсированная)
rundll(32).exe shell32.dll,SHExitWindowsEx 3 - завершение работы с выключением компьютера (нефорсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx 4 - завершение сеанса (форсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx 5 - завершение работы (форсированное)
rundll(32).exe shell32.dll,SHExitWindowsEx 6 - перезагрузка (форсированная)
rundll(32).exe shell32.dll,SHExitWindowsEx 7 - завершение работы с выключением компьютера (форсированное)

runonce.exe -q - перезагрузка (нефорсированная) после 15 секундной задержки

Команды перезагрузки и выключения компьютера через rundll32 в Windows 2000 и выше не работают (только в 9x/ME/NT).

"ping.exe -n 0 127.0.0.1>nul&wmic OS WHERE Primary="TRUE" CALL Win32Shutdown X" - нестандартный способ завершения, выполняемый из окна cmd (через "Пуск" - "Выполнить" команда не сработает), где X это число, соответствующее режиму завершения: 0, 4 - завершение сеанса, 1, 5 - выключение, 2, 6 - перезагрузка, 8, 12 - выключение питания (второе число после запятой это форсированный режим, может указываться в виде "первое число + 4", т.е. 0 + 4, 1 + 4, 2 + 4, 8 + 4), вместо "Win32Shutdown 2" можно использовать параметр "Reboot" (нефорсированная перезагрузка)

Для завершения работы можно использовать специальные скрипты VBScript и JScript. Как и в предыдущем способе в них используются команды Win32Shutdown и Reboot с теми же числовыми значениями. Пример скрипта VBScript с уведомлением о перезагрузке.

Message = "Вы хотите перезагрузить компьютер?"
YesNo = MsgBox(Message, vbYesNo)
if YesNo = vbYes Then
set objWMIService = GetObject("winmgmts:")
set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
for each objOperatingSystem in colOperatingSystems
objOperatingSystem.Win32Shutdown(2)
next
end if

Вместо Win32Shutdown(2) можно использовать параметр Reboot. Для других операций по завершению работы (выключение, завершение сеанса, и т.п.) меняем число в параметре Win32Shutdown() на одно из указанных в предыдущем способе и переписываем текст уведомления. Если уведомление не нужно, удаляем из скрипта первые три и последнюю строчки. Объекты colOperatingSystems и objOperatingSystem можно заменить на colSoftware и objSoftware соответственно.

Можно также сделать скрипт, который будет просто выводить окно завершения работы:

Dim objShell
set objShell = CreateObject("Shell.Application")
objShell.ShutdownWindows
set objShell = nothing

Аналогичный скрипт на JScript выглядит следующим образом:

Для создания файла скрипта, копируем текст скрипта в текстовый файл и сохраняем его с расширением .vbs или .js.

Завершение работы с помощью сторонних утилит: - также не оттестировал как следует.
---------------------------------------------

psshutdown.exe -s -t 00 - shutdown
psshutdown.exe -d -t 00 - sleep
psshutdown.exe -k -t 00 - poweroff
psshutdown.exe -r -t 00 - restart
psshutdown.exe -h -t 00 - hibernate
psshutdown.exe -o -t 00 - logoff (на XP выключает компьютер, т.е. выполняется shutdown вместо logoff)
psshutdown.exe -l -t 00 - lock

Можно добавить ключи -f (форсированно) и -m (уведомление о перезагрузке), -t 00 - это время ожидания до перезагрузки.

nircmdc.exe exitwin poweroff
nircmdc.exe exitwin shutdown
nircmdc.exe exitwin logoff
nircmdc.exe lockws
nircmdc.exe initshutdown "" 0
nircmdc.exe initshutdown "" 0 reboot
nircmdc.exe abortshutdown - отмена завершения работы, вызванного командой initshutdown

Команда для автоматического выключения компьютера или его перезагрузки

Автоматизация некоторых процессов на компьютере часто позволяет существенно увеличить удобство использования ПК не только в работе, но и в повседневной жизни. В одном из топиков мы, к примеру, рассматривали способы добавления любой программы в автозагрузку компьютера: Автозагрузка. Добавление приложений в автозагрузку Windows.

Данная статья будет посвящена такому моменту, как автоматическое выключение компьютера через заданный промежуток времени. Все манипуляции мы будем производить исключительно средствами самой системы Windows, без использование сторонних программ . Кроме того, не станем ограничиваться выполнением голых команд, а добавим всему процессу немного юзабилити.

Содержание статьи:

Как выполнить shutdown для выключения и перезагрузки компьютера

Не будем срываться с места в карьер, начнём с самого начала. А начало - это основная команда для выключения компьютера, которую мы будем использовать. В ОС Windows для завершения работы достаточно передать системе команду shutdown с нужными параметрами.

В принципе, команду shutdown можно выполнять разными способами:

Все три способа схожи, поддерживают одни и те же параметры, поэтому мы не будет заострять на этом внимание и весь процесс будем выполнять в консоли, то есть в командной строке системы Windows.

Как же это работает? Чтобы компьютер выключился автоматически , то есть без необходимости лезть в меню "Пуск" и нажимать там кнопку "Завершение работы", нам нужно вызвать следующую команду:

Через 30 секунд после выполнения произойдёт завершение работы системы. Кроме этого той же командой, но с иным параметром можно не выключить компьютер, а перезагрузить его. Вот как это будет выглядеть:

Опять же отметим, что остальные параметры для команды выключения и перезагрузки схожи, поэтому мы не будем повторять каждый набор дважды, а рассмотрим весь процесс автоматического выключения компьютера на примере команды shutdown -s, держа в уме, что всё то же самое применимо и к команде shutdown -r

А теперь приступим к усовершенствованию команды и добавлению к ней дополнительных параметров.

Параметры команды shutdown

Материал, описанный в статье, применим к большинству используемых на сегодняшний день версий операционной системы от компании Microsoft. Команды и способы их выполнения позволяют автоматически выключить компьютер на Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista и всё ещё сохраняющей своего верного пользователя Windows XP.

Теперь рассмотрим основные параметры команды shutdown, которыми мы будем пользоваться:

  • -s основной параметр, который позволяет автоматически выключить компьютер ;
  • -r основной параметр, который позволяет автоматически перезагрузить компьютер ;
  • -a основной параметр, который позволяет отменить запланированное действие по выключению или перезагрузке компьютера ;
  • -t позволяет задать время задержки в секундах до выключения или перезагрузки компьютера. Возможно присвоение значения в диапазоне от 0 до 315360000 (10 лет). По умолчанию присваивается значение 30;
  • -f принудительное закрытие запущенных приложений без предупреждения пользователей. Не самый главный параметр, но бывает полезен, так как помогает избежать отмены выключения или перезагрузки компьютера из-за зависших программ.

Для целей знакомства со способом автоматического выключения компьютера этого нам будет достаточно. Ниже мы добавим к приведённому набору другие команды, чтобы сделать использование функции shutdown ещё удобнее.
Полный список параметров для shutdown можно увидеть, выполнив в консоли следующую команду:

Список параметров команды shutdown в консоли Windows

Автоматическое выключение компьютера через определённое время

Итак, переходим к практическому применению информации, которую мы собрали в первых двух главах.

Допустим, мы смотрим фильм и понимаем, что можем уснуть, не выключив компьютер. Нам нужно, чтобы компьютер выключился сам через 30 минут. Для этого необходимо выполнить следующую команду (мы помним, что сделать это можно не только в командной строке, но также через утилиту Выполнить или в меню Пуск ):

Используемые параметры нам уже знакомы. А значение 1800 задаёт значение времени в секундах, через которое будет произведено завершение работы. То есть, 1800 секунд = 1800 секунд / 60 секунд в минуте = 30 минут. С этим проблем возникнуть не должно. После выполнения команды мы получим системное уведомление, о том, что запланировано завершение работы

Работа Windows будет завершена через 30 минут

Кроме того, за 10 минут до момента завершения работы вне зависимости от запланированной причины (выключение или перезагрузка) мы получим дополнительное предупреждение от системы Windows

Работа Windows будет завершена через 10 минут

Но как быть, если, допустим, спустя минут 15 мы понимаем, что фильм досмотреть не успеем и нужно отменить автоматическое выключение? Чтобы отказаться от запланированного завершения работы Windows , необходимо выполнить следующую команду:

Сразу после выполнения команды высветится оповещение о том, что автоматическое выключение компьютера отменено

Выход из системы отменен. Запланированное завершение работы отменено

Это, собственно, всё, что нужно знать для автоматического выключения компьютера через заданное время. Но каждый раз вводить команду в консоль не очень удобно, поэтому ниже мы разберём, как написать бат-файл для автоматического выключения компьютера или его перезагрузки .

Батник для автоматического выключения компьютера

В статье Пакетные файлы (bat, батники) Windows мы подробно рассматривали основные правила создания бат-файлов и их синтаксис. Чтобы не повторяться лишний раз, в данной публикации будем описывать только те команды и параметры, которые будем применять для создания файлов, позволяющих запланировать автоматическое выключение компьютера.

Возьмём команду, приведённую в главе выше, и сделаем из неё простенький бат-файл для выключения компьютера через 10 минут. Его содержимое будет следующим:

Это очень легко, добавим функционала нашему bat-файлу. Для этого воспользуемся командой set, которая позволяет задавать пользовательские переменные. То есть, при запуске батника консоль будет спрашивать нас примерно следующее: "Через сколько секунд выключить компьютер?", а мы каждый раз можем вводить нужное значение и жать клавишу Enter . Вот как будет выглядеть код нашего батника:

  • set /p sec_off= - задаём значение переменной sec_off;
  • echo - выводим в уведомление заданное значение секунд;
  • shutdown -s -f -t %sec_off% - выключаем компьютер спустя заданное в начале количество секунд.

Уже лучше, но можно усовершенствовать. Задавать время выключения в секундах не очень удобно. Мы будем использовать минуты (можно по аналогии настроить и часы). Однако, консоль Windows не поймёт нашего значения в минутах, поэтому для неё мы будем осуществлять перевод в секунды.
Вот как это будет выглядеть:

  • set /p min_off= задаём значение переменной min_off;
  • set /A sec_off= задаём значение переменной sec_off, умножая количество минут на 60, чтобы получить для консоли секунды;
  • echo - выводим в уведомлениях заданные минуты;
  • shutdown -s -f -t %sec_off% подставляем полученное значение в секундах.

В принципе, на этом можно остановиться. Готовые батники выключения, перезагрузки и отмены завершения работы с приведённым кодом можно скачать из прикреплённого к статье архива: auto-shutdown-reboot-bat.

Но можно ещё немного улучшить бат-файлы и сделать из трёх один, преобразовав его в крошечную программу. Этим и займёмся ниже.

Создаем программу для автоматического выключения компьютера

На данный момент мы имеем три батника , каждый из которых выполняет свою функцию: выключение компьютера, перезагрузку и отмену запланированных действий.
Для начала напишем основную часть нового единого bat-файла . Суть будет заключаться в том, чтобы спрашивать у пользователя, какое из трёх действий требуется выполнить, а потом уже переходить к той части, которая отвечает за нужную функцию.

Выбор функции зададим следующей строчкой (её, как и весь файл, можно отредактировать на своё усмотрение, как будет удобнее):

Здесь мы задаём новую переменную answer , значение которой вводится при каждом запуске файла и подтверждается нажатием клавиши Enter .
Переход к нужной части бат-кода осуществляем командой goto, в данном случае строчка будет иметь следующий вид:

Начало каждой независимой части ознаменуем, соответственно, как :1, :2 и :0
Для грамотного выполнения сделаем завершение каждой части кода не командой pause, а командой exit, добавив перед закрытием окна двухсекундную задержку:

И в завершении добавим раскрашивание текста разным цветом, в зависимости от выполняемой команды:

На выходе мы получим следующий код:

Каждая команда уже описана выше. Вот, как это работает:

  1. Мы запускаем батник.
  2. В ответа на вопрос о выборе функции вводим 1, 2 или 0. , подтверждаем ввод клавишей Enter .
  3. Консоль перейдёт к соответствующей части кода и, если это выключение или перезагрузка, спросит, через сколько минут произвести требуемое действие.
  4. Потом введённое значение преобразуется в секунды и добавляется в команду, параметры которой и определяют запланированное действие.

Для удобства можно упаковать получившийся батник в SFX-архив и добавить к нему иконку. В итоге получится простая портативная программа для автоматического выключения и перезагрузки компьютера через заданный интервал времени: auto-shutdown-exe.

Читайте также: