Попробуйте приведенный ниже пакетный скрипт, он зависит от времени работы системы. Запустите это, когда вы думаете, что это уместно, с планировщиком
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=," %%a in ('systeminfo ^| findstr Boot ^| findstr System') do (
set output=%%a
set /a hrs=!output:~1,1!
set mins=!output:~3,2!
::echo !output!
::echo !hrs!
::echo !mins!
if !hrs! == 5 (
if !mins! == 50 (
shutdown -s -f -t 100
)
)
)
Ну, это идея, настроить как требуется
Объяснение.
- Извлеките время, когда компьютер был включен,
systeminfo ^ | Findstr Boot ^ | Система Findstr
На сайте systeminfo много информации, поэтому мы фильтруем только тот параметр, который нам нужен.
например,
C:\Users> systeminfo | система загрузки findstr |
Время загрузки системы: 04.12.2014, 7:20:37
- Выберите поле времени только через запятую
for /f "tokens = 2 delims =," %% a in ('systeminfo ^ | findstr Boot ^ | findstr System') do (установить вывод = %% a
и во всей этой строке выберите только 1-й символ (1 пробел), 3-й и 4-й символ (2 пробела)
установить / час =!выход:~ 1,1!
установить мин =!выход:~ 3,2!
Чтобы дать только час и минуту
- ЕСЛИ функция отключается, если время совпадает.
если !ч! == 5 (
if !mins! == 50 (
shutdown -s -f -t 100
PS: ниже приведен комментарий, чтобы увидеть, если в коде есть какая-либо ошибка,
:: эхо!выход!
:: эхо!ч!
:: эхо!мин!