请问下高手为什么我写的这个批处理判断不了执行结果:
@echooff:startset/pvar=请输入一个命令if%errorlevel%==0gotoyesif%errorlevel%==1gotono:yes...
@echo off :start set /p var=请输入一个命令 if %errorlevel% ==0 goto yes if %errorlevel% ==1 goto no :yes echo 你输入了一个正确命令 goto start :no echo 输入了一个错误的命令 goto start
展开
1个回答
展开全部
1
执行结果当然是执行之后才能判断的,代码里并没让输入的命令执行,可把set/p那句下面插入一行:%var%
2
如果你的原意是不执行命令只预测命令将是否正确
,那简单的批处理做不到
3
如果只是通过命令是否正常执行来选择不同后续操作而并不关心该命令执行过程中的显示情况,用“选择性的连接命令”即可。比如通过一个计算命令是否正常执行决定后续操作:
set/a
v=3/0
1>nul
2>nul
&&(goto
:yes)||goto
:no
4
没正常执行并不意味着命令是错误的,
%errorlevel%
==1
并不一定是执行的命令发生错误了,只有if
errorlevel=1
表示的是如果返回值大于或等于1
才表达意思正确,各命令中errorlevel的情况并不完全相同,但通常是0表示“最正常”的情况
执行结果当然是执行之后才能判断的,代码里并没让输入的命令执行,可把set/p那句下面插入一行:%var%
2
如果你的原意是不执行命令只预测命令将是否正确
,那简单的批处理做不到
3
如果只是通过命令是否正常执行来选择不同后续操作而并不关心该命令执行过程中的显示情况,用“选择性的连接命令”即可。比如通过一个计算命令是否正常执行决定后续操作:
set/a
v=3/0
1>nul
2>nul
&&(goto
:yes)||goto
:no
4
没正常执行并不意味着命令是错误的,
%errorlevel%
==1
并不一定是执行的命令发生错误了,只有if
errorlevel=1
表示的是如果返回值大于或等于1
才表达意思正确,各命令中errorlevel的情况并不完全相同,但通常是0表示“最正常”的情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询