Если пользователь нажимает клавишу, задача не должна запускаться
Ближайшее, что я могу придумать, это следующее, которое требует от пользователя нажатия Y или C:
@echo off setlocal enabledelayedexpansion choice /c:CY /n /m "Task will run in 30 seconds. Press Y to run now, or C to Cancel" /t:30 /d:Y if errorlevel 2 ( echo run task ) else ( echo task cancelled ) endlocal
Заметки:
- Тайм-аут составляет 30 секунд, измените ваши требования
- Замените
echo run task
на команду для запуска вашей задачи. - Удалите,
else (...)
если вам это не нужно.
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD
- Категоризованный список команд Windows CMD
- выбор - принять пользовательский ввод в пакетный файл. Выбор позволяет захватывать одиночные нажатия клавиш с клавиатуры.