Может быть, вы можете попробовать что-то вроде этого:
@echo off
:get_the_time
for /f %%# in ('wMIC Path Win32_LocalTime Get /Format:value') do @for /f %%@ in ("%%#") do @set %%@
echo CURRENT TIME -- %hour%:%minute%
:: creatring a comparable number with wich time for starting chrome can be used
if %hour% LSS 10 ( set hour=10%hour% ) else ( set hour=1%hour%)
if %minute% LSS 10 (set minute=0%minute%)
set comparable_time=%hour%%minute%
::now the comparable_time is in format 1HourMinute . The 1 in the front is to avoid complications with leading zero
timeout /t 60
if %comparable_time% GEQ 12100 if %comparable_time% LEQ 12200 ( goto :run ) else ( goto :get_the_time )
:run
echo running
start chrome.exe
pause
Поскольку ваш метод получения времени не такой надежный и зависит от настроек времени в панели управления, я предпочел использовать WMIC .
Если в вещах, которые вы хотите сравнить с IF, есть нецифровые символы, будет выполнено сравнение по алфавиту, поэтому :
не является частью предложений IF.
Также выполняется сравнение с переменной, выглядящей как 1 Час минута , а часы и минуты сохраняются в двухзначном формате, поэтому теперь используются только сравнения с числами без начальных нулей.