Показать полную графическую версию : [решено] Запускать программу по времени
Patroklos
04-03-2019, 19:40
Здравствуйте, подскажите как лучше всего решается следующая задача:
1) Запускаем .bat
2) Проверяем время
3) Если время между 09 - 15 часами идём goto Work else goto Loop
Заранее спасибо за помощь.
megaloman
04-03-2019, 21:16
Patroklos, Не знаю, что Вы имеете ввиду под Work и Loop, вот вариант@Echo Off
cls
Set "Time1=09:00"
Set "Time2=22:00"
Set "Delim=:"
Call :TCount "%%Time1:%Delim%=%%00" "T1"
Call :TCount "%%Time2:%Delim%=%%00" "T2"
Set "T=%Time:~0,-3%"
Call :TCount "%%T:%Delim%=%%" "T"
If %T% LSS %T1% Call :Loop &GoTo :Eof
If %T% GTR %T2% Call :Loop &GoTo :Eof
If %T1% LEQ %T% If %T% LEQ %T2% Call :Work
Exit /B 0
:TCount
SetLocal
Set "T=%~1"
Set "T=00%T: =%"
EndLocal &Set /A %~2=1%T:~-6%
Exit /B 0
:Loop
Echo Loop %T1:~1% %T:~1% %T2:~1%
Pause
GoTo :Eof
:Work
Echo Work %T1:~1% %T:~1% %T2:~1%
Pause
GoTo :Eof
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=:" %%i in (`time /t`) do set "sHours=%%i"
if defined sHours if "%sHours%" geq "09" if "%sHours%" lss "15" (
echo goto :Work
)
echo goto :Loop
endlocal
exit /b 0
megaloman
04-03-2019, 21:29
Patroklos, А время 15:59 принадлежит интервалу между 09 и 15 или нет?
Patroklos
04-03-2019, 21:44
А время 15:59 принадлежит интервалу между 09 и 15 или нет? »
Мне поминутная точность не важна. Спасибо.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC