Si vous n'avez pas besoin d'un compte à rebours visuel, il existe une solution simple utilisant TIMEOUT, qui utilise la fonction <backspace>
(0x08) pour positionner le numéro du compte à rebours qui s'affiche chaque seconde.
Il semble que le numéro se trouve au milieu de la chaîne, mais la sortie comporte en fait le 0 final comme dernier caractère sorti, précédé d'un espace ou d'un retour arrière. Si l'utilisateur appuie sur une touche, alors le TIMEOUT est interrompu et le 0 final n'est jamais sorti.
Vous pouvez passer la sortie à FINDSTR pour tester si 0 était le dernier nombre sorti.
timeout 600 | findstr "[^0-9]0$" >nul && start "" "C:\Program Files\program.exe"
Si vous disposez d'un portage Windows de tee, vous pouvez obtenir un compte à rebours visuel semi-fonctionnel, sauf que les chiffres apparaissent par erreur à la fin du message au lieu du milieu.
timeout 600 | tee countdown.txt
findstr "[^0-9]0$" countdown.txt >nul && start "" "C:\Program Files\program.exe"
del countdown.txt