批处理命令 多条件判断后 显示出来结果

一个bat文档里,前面已经编写了一部分,是一段关于简单运算的计算器因为想要重复使用计算,前部分用了一个循环标记@echooff:标记1##前部分代码##goto标记1pa... 一个bat文档里,前面已经编写了一部分,是一段关于简单运算的计算器
因为想要重复使用计算,前部分用了一个循环标记
@echo off
:标记1
##前部分代码##
goto 标记1
pause

前部分运行正常,结果计算显示出4个参数 n1,n2,n3,n4
后部分我想实现
条件1:n1<3 ,
条件2:n1>=3 ,
条件3:n2>=n3,
条件4:n2>=n4
条件5:n3>n2
条件6:n4>n2

满足条件1 输出显示一句话a
共同满足条件2&&条件3 输出显示一句话b
共同满足条件2&&条件4&&条件5 输出显示一句话c
共同满足条件2&&条件6 输出显示一句话d
要求最终只显示abcd其中一个结果:
我使用了类似
@echo off
:标记1
##代码前半段##
if %n1% LSS 3 goto:标记2
:标记2
echo 结果a
echo.
goto :eof
if %n1% GEQ 3 && %n3% GEQ %n1% && %n1% LSS %n4% goto:标记4
:标记4
echo 结果c
echo.
goto :eof

goto 标记1
pause

这样的语句 结果文档就自动关闭了 希望高人解答
展开
 我来答
yyykkkyyyy
2011-02-18 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3316万
展开全部
先提三点值得注意:

if %n1% LSS 3 goto:标记2
:标记2
这种,前句的判断没意义,因为无论判断是否满足都会顺序执行

&&是命令连接符,要求其前后都是完整合格的命令,前命令成功时连续执行后命令所以
if %n1% GEQ 3 && %n3% GEQ %n1% && %n1% LSS %n4% goto:标记4
是不合格的命令

注意到用到goto :eof
那么批处理就算结束了,那么之前就算写得正确也退出了,因此之前显示的内容会来不及看,除非之前没什么要显示的,要注意凡显示内容就要考虑是否留有看的时间,另外,逻辑上是否冲突或不妥没仔细看,列的几判断全都goto :eof了, 最后的goto 标记1是否还有意义我不作结论

写个部分的参考代码,没仔细琢磨,有几对条件是相反的1~2、3~5、4~6,琢磨得好就写得简单点
if %n1% lss 3 (echo 结果 a)else (
if %n2% gtr %n3% echo 结果 b&goto :next
if %n2% geq %n4% if %n3% gtr %n2% echo 结果 c
if %n4% gtr %n2% echo 结果 d)
:next
set/p ag=继续 ? (按y继续,其它退出) :
if /i "%ag%"=="y" goto 标记1
麦兜Terran
2011-02-18 · TA获得超过2571个赞
知道小有建树答主
回答量:1786
采纳率:0%
帮助的人:1171万
展开全部
你得把前面的代码贴出来才行
前面的代码都不知道,如何编后面的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式