Jak poprosić o dane wejściowe użytkownika pliku wsadowego z limitem czasu

Próbuję więc dodać timer do jednej z moich instrukcji if pod komendą set, ale nie jestem pewien, jakie byłoby polecenie. Skrypt zostanie uruchomiony i odczeka trzydzieści minut, zanim ponownie uruchomi komputer lub poczeka, aż użytkownik wprowadzi go w tym czasie lub anuluje. Mam więc moje dwie instrukcje if dla zestawu „restartuj teraz” i „anuluj”, ale teraz potrzebuję instrukcji if, aby odliczać od trzydziestu minut, zanim wykona moje polecenie restartu. Także jeśli ktoś wie, jak dodać tam wizualny zegar pokazujący, ile pozostało czasu, to byłby plus. Dzięki chłopaki!!!

@Echo off

:START

set /p answer=PC WILL RESTART IN 30 MINUTES, PRESS N TO RESTART NOW OR C TO CANCEL

if "%answer%"=="n" (GOTO Label1)
if "%answer%"=="c" (GOTO Label2)
if "TIMER GOES HERE" "==" (GOTO Label1)

:Label1

shutdown -r -t 60 -f

:Label2 

exit

questionAnswers(5)

yourAnswerToTheQuestion