Это еще несколько строк, чтобы сделать это в пакетном файле, но вы, по сути, хотите получить время в стандартном формате. Вы можете сделать это, вызвав WMI C. Я просто использую час для сравнения. Я не видел необходимости использовать минуты на основе предоставленного примера, говорящего, что оно не между 23:00 и 18:00. Я использую 1 для префикса сравнения начальных нулей в часе.
@echo off
set "compareTime1=23"
set "compareTime2=06"
REM GET DATE and TIME
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
SET "YYYY=%dt:~0,4%"
SET "YY=%dt:~2,2%"
SET "MM=%dt:~4,2%"
SET "DD=%dt:~6,2%"
SET "HH=%dt:~8,2%"
SET "min=%dt:~10,2%"
SET "sec=%dt:~12,2%"
IF 1%HH% LSS 1%compareTime1% IF 1%HH% GTR 1%compareTime2% (
ECHO LETS DO SOMETHING
)