¿Cómo evitar que el intérprete de comandos de Windows abandone la ejecución del archivo por lotes con una entrada incorrecta del usuario?

Si tengo el siguiente código de ejemplo:

@echo off
:menu
cls
echo 1. win
echo 2. lose
set /p menu=
goto %menu%
pause>nul

:win
cls
echo yay lolz
pause>nul

:lose
cls
echo really?
pause>nul

¿Cómo evito que el lote se cierre si escribo "prueba" en lugar de una respuesta válida?

Respuestas a la pregunta(1)

Su respuesta a la pregunta