Como solicitar a entrada do usuário do arquivo em lotes com um tempo limite

Então, estou tentando adicionar um timer a uma das minhas instruções if em um comando set, mas não tenho certeza de qual seria o comando. O script será iniciado e aguardará trinta minutos antes de reinicializar o PC ou aguardar a entrada de um usuário para inseri-lo naquele momento ou cancelá-lo. Então eu tenho minhas duas instruções if para o "restart now" e "cancelar" set, mas agora eu preciso de uma instrução if para fazer a contagem regressiva de trinta minutos antes de executar o comando restart. Além disso, se alguém souber como adicionar um temporizador visual, mostrando quanto tempo sobrará, isso será uma vantagem. Obrigado rapazes!!!

@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