2015-11-05 35 views
0

我一直都在做一个批处理文件来执行程序如何返回如果输入不等于;批处理文件

@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.alhfdzbd or something else that not matches the custom commands 

我能做些什么???

+0

你也应该知道,'choice'不*不*改变其值时,用户只需按下_ENTER_,所以也许你想清除变量,比如'设置选择='(把它'之间:顶部'和'set/p')... – aschipfl

回答

0

如果用户既不输入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 
+0

谢谢你,这是非常有益的人,你做了我的一天。非常感谢。并为此感到遗憾。我只是一个初学者,你可能会想到这个级别的狗屎 – Precious

+0

Nah,不好的东西只是获得更好的东西的第一步。 – SomethingDark

+0

你知道我已经在这个设置上工作了好几个星期了,现在已经很完美了。意味着它就像Cortana一样,现在所有必须做的就是“安装软件包”,即使是其他用户(不知道自定义命令)是否可以安装任何软件,因为我在每一个命令中都努力工作。 – Precious