Определял время, прибавлял 5 минут, ставил на расписание запуск через schtasks
schtasks /tn "NameTask" /delete
set /A start_h=%time:~0,2%
set /A start_m=%time:~3,2%
set /A start_s=%time:~6,2%
rem Предполагаем, что впишемся в часы и минуты
set end_h=%start_h%
set end_m=%start_m%
rem Добавляем секунды
set /A end_s=%start_s%+300
rem И смотрим - не перешли-ли через 60 секунд и 60 минут
if %end_s% GTR 60 set /A end_m=%start_m%+%end_s%/60&&set /A end_s=%start_s%+(%1-%1/60)
if %end_m% GTR 60 set /A end_h=%start_h%+%end_m%/60&&set /A end_m=%start_m%+(%end_m%-%end_m%/60)
if %end_h% lss 10 schtasks /tn "NameTask" /create /U Пользователь /P пароль /TR "запускаемый файл" /SC once /ST 0%end_h%:%end_m%:00
schtasks /tn "comuchet" /create /U Пользователь /P пароль /TR "запускаемый файл" /SC once /ST %end_h%:%end_m%:00