PDA

Показать полную графическую версию : [решено] Запускать программу по времени


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

Iska
04-03-2019, 21:18
@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