关于编写bat批处理时选择项的问题

编写了一段代码,但是不管输入1还是2还是3,都只能显示"测试"这两个字,始终没弄明白,希望有知道的朋友告诉一下,谢谢@echooff:meunset/pin=1.测试2.... 编写了一段代码,但是不管输入1还是2还是3,都只能显示"测试"这两个字,始终没弄明白,希望有知道的朋友告诉一下,谢谢 @echo off

:meun
set /p in = 1.测试 2.试验 3.验证

if errorlevel %in% == 1 goto :ceshi
if errorlevel %in% == 2 goto :shiyan
if errorlevel %in% == 3 goto :yanzheng

:ceshi
echo 测试
goto :meun

:shiyan
echo 试验
goto :meun

:yanzheng
echo 验证
goto :meun
展开
 我来答
匿名用户
2013-08-14
展开全部
可以这样写:@echo off
:start
cls
ECHO ================================
ECHO 请选择要进行的操作,然后按回车
ECHO ————————————————
echo 测试…………1
echo.
echo 试验…………2
echo.
echo 验证…………3
echo.
echo 退出…………4
echo.
set /p UserSelection=选择 ( 1 , 2 ,3)
if not "%UserSelection%"=="1" (
if not "%UserSelection%"=="2" (
if not "%UserSelection%"=="3" (
if not "%UserSelection%"=="4" (
pause
goto start
))))
set b=%1
if "%UserSelection%"=="1" (
echo 测试
pause
goto start
)
if "%UserSelection%"=="2" (
echo 试验
pause
goto start
)
if "%UserSelection%"=="3" (
echo 验证
pause
goto start
)
if "%UserSelection%"=="4" (
exit
)
exit
匿名用户
2013-08-14
展开全部
@echo off

:meun
set /p in= 1.测试 2.试验 3.验证

if %in% == 1 goto :ceshi
if %in% == 2 goto :shiyan
if %in% == 3 goto :yanzheng
goto meun

:ceshi
echo 测试
goto :meun

:shiyan
echo 试验
goto :meun

:yanzheng
echo 验证
goto :meun
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-14
展开全部
@echo off
:menu
set/p in=1.测试 2.试验 3.验证
if %in%==1 (
echo 测试) else (
if %in%==2 (
echo 试验 ) else (
echo 验证
)
)
)
pause 楼主试下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-14
展开全部
你只需把“errorlevel”去掉就行了,因为它是取一个过程的返回值,而in是变量。如果可以的话,你可以把变量扩充一下,仅取第一位有效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式