如果我在批次上键入错误的数字或字母,我该怎么做呢?批量

时间:2013-11-30 09:12:34

标签: batch-file

@echo off
cls
:menu
echo 1. Start
echo 2. Info
set /p select=Enter Number:

if not defined select (
cls
goto loop
)

if %select% == 1 goto start
if %select% == 2 goto info

2 个答案:

答案 0 :(得分:0)

几乎完成了。您已测试过任何有效值。所有if都失败了。您有一个标签(:menu),可以在代码末尾添加goto menu。并将goto loop更改为goto menu

答案 1 :(得分:-1)

我更愿意通过这样做让我的代码更紧凑,并且它的工作更好!

@echo off
cls
:menu
echo 1. Start
echo 2. Info
set /p select=Enter Number:  
if "%select%" == "1" goto start
if "%select%" == "2" goto info
goto menu

它正在做的是检查是否为真,如果它不是它会去看是否2是真的,如果不是它将转到下一行代码,它是直接进入菜单的转到菜单,除非你想显示undefined做这样的事情:

:menu
@echo off
cls
echo 1. Start
echo 2. Info
set /p select=Enter Number:  
if %select% == 1 goto start
if %select% == 2 goto info
goto undefined
:undefined
echo Undefined!
pause
goto menu