Batch file 如果输入不相等,如何返回错误;批处理文件

Batch file 如果输入不相等,如何返回错误;批处理文件,batch-file,cmd,Batch File,Cmd,我一直在用批处理文件来执行程序 @echo off :top set /p choice=" My Choice = " if %choice%=="install program.alpha" goto alpha if %choice%=="install program.beta" goto beta :alpha start="Destination...." goto top :beta start="Destination...." goto top 所以我的问题是。我不能创建一

我一直在用批处理文件来执行程序

@echo off
:top
set /p choice=" My Choice = "
if %choice%=="install program.alpha" goto alpha
if %choice%=="install program.beta"  goto beta
:alpha
start="Destination...."
goto top
:beta
start="Destination...."
goto top
所以我的问题是。我不能创建一个条件,当用户输入错误的命令时,它必须返回一个错误。与用户输入的命令类似:

install program.gamma


我该怎么办?

如果用户既不输入
install program.alpha
也不输入
install program.beta
,只需将输入视为无效即可

@echo off
:top
set /p choice=" My Choice = "
if "%choice%"=="install program.alpha" goto alpha
if "%choice%"=="install program.beta"  goto beta

:: If you get here, the user has typed something wrong.
echo Invalid selection. Exiting.
exit /b

:alpha
set start="Destination...."
goto top
:beta
set start="Destination...."
goto top

您还应该注意,当用户只按ENTER键时,
choice
不会更改其值,因此您可能希望清除变量,如
set choice=
(将其置于
:top
set/p
)之间)…谢谢你让我度过了非常有帮助的一天。谢谢。对此我很抱歉。我只是一个初学者,你可能会认为这是一个很糟糕的水平,在某件事情上做得不好只是成为擅长某件事情的第一步。你知道我已经在这个设置上工作了好几个星期,现在已经很完美了。这意味着它就像Cortana一样,现在所要做的就是“安装软件包”,即使是其他用户(不知道自定义命令)也可以安装任何东西,因为我在每一条命令上都很努力。我曾经试着编写一条命令,只是为了好玩。范围的扩大使我放弃了这个项目。我希望你能成功。
@echo off
:top
set /p choice=" My Choice = "
if "%choice%"=="install program.alpha" goto alpha
if "%choice%"=="install program.beta"  goto beta

:: If you get here, the user has typed something wrong.
echo Invalid selection. Exiting.
exit /b

:alpha
set start="Destination...."
goto top
:beta
set start="Destination...."
goto top