在bat文件中设置vars

时间:2015-05-12 20:14:39

标签: windows batch-file cmd

好吧,直截了当地提出我的问题: 我在我的蝙蝠脚本中使用了set / p:

SET x= 
SET /P x= 
IF /I '%x%' == '1' GOTO 1
IF /I '%x%' == '2' GOTO 2
IF /I '%x%' == '3' GOTO 3
IF /I '%x%' == '4' GOTO 4
IF /I '%x%' == '5' GOTO 5

我的问题是,如果有人输入一些不寻常的东西(例如6)我想让命令转到(所以他们回到菜单) 有没有办法做到这一点?比如使用%errorlevel%或“else”?谢谢!

1 个答案:

答案 0 :(得分:2)

:repeat
SET "x=" 
SET /P "x=enter x:" 
IF /I "%x%" == "1" GOTO 1
IF /I "%x%" == "2" GOTO 2
IF /I "%x%" == "3" GOTO 3
IF /I "%x%" == "4" GOTO 4
IF /I "%x%" == "5" GOTO 5
echo invalid input
goto :repeat
:1
...
:2
....

如果您在所有其他标签之前设置goto :repeat,如果输入无效,它将重复提示,如果输入无效,则会跳过。