Если вам не нужен визуальный обратный отсчет, есть простое решение, использующее TIMEOUT, которое использует символ <backspace>
backspace > (0x08) для позиционирования номера обратного отсчета, который отображается каждую секунду.
Похоже, что число находится в середине строки, но на самом деле конечный 0 имеет выходной результат в виде последнего символа, с предшествующим пробелом или пробелом. Если пользователь нажимает клавишу, TIMEOUT прерывается и окончательный 0 никогда не выводится.
Вы можете направить вывод в FINDSTR, чтобы проверить, был ли последний вывод числа 0.
timeout 600 | findstr "[^0-9]0$" >nul && start "" "C:\Program Files\program.exe"
Если у вас есть тройник в Windows, то вы можете получить полуфункциональный визуальный отсчет, за исключением того, что цифры ошибочно отображаются в конце сообщения вместо середины.
timeout 600 | tee countdown.txt
findstr "[^0-9]0$" countdown.txt >nul && start "" "C:\Program Files\program.exe"
del countdown.txt