我如何显示 CMD 中的错误输入?

how can i show a misinput in CMD?

我一直在为我的 class 在 cmd 中做一个菜单,我不能为它做类似 if else 结构的东西,所以即使我给他一个错误的输入,它甚至不会在屏幕上显示消息, 有人知道我能做什么吗?

ECHO OFF
CLS
:MENU
ECHO.
ECHO ...............................................
ECHO presione su eleccion :1,2 o 3 para salir
ECHO ...............................................
ECHO.
ECHO 1 - Copia de seguridad y ruta de guardado del respaldo 
ECHO 2 - Cambio de extension de un archivo
ECHO 3 - Salir
ECHO.
ECHO.
SET /P M=presione 1,2 o 3 y presione enter:
IF %M%==1 (GOTO RESPALDO)
ELSE IF %M%==2 (GOTO EXTENSION)
ELSE IF %M%==3 (GOTO EOF)
ELSE (ECHO Opcion no valida 
GOTO MENU)

:RESPALDO
cd %windir%\system32\notepad.exe
start notepad.exe
GOTO MENU
:EXTENSION
cd %windir%\system32\calc.exe
start calc.exe
GOTO MENU

ELSE 必须与 IF 在“同一”行中(可能由括号 () 扩展)。所以你可以这样写:

IF %M%==1 (GOTO RESPALDO) else (
IF %M%==2 (GOTO EXTENSION) else (
IF %M%==3 (GOTO :EOF) else (
ECHO Opcion no valida 
GOTO MENU
)
)
)

但在此示例中,您也可以忽略 ELSE:

IF %M%==1 (GOTO RESPALDO)
IF %M%==2 (GOTO EXTENSION)
IF %M%==3 (GOTO :EOF)
ECHO Opcion no valida 
GOTO MENU

顺便说一句:GOTO :EOF 必须有冒号,否则找不到。