批处理中怎么能让for循环语句重新执行某一次的程序
for循环语句中,如果中间某一次出错了,我会pause让程序暂停,等待用户修改。用户修改好后按任意键,我想回到刚才出错的这一次重新执行,怎么写呢?...
for循环语句中,如果中间某一次出错了,我会pause让程序暂停,等待用户修改。
用户修改好后按任意键,我想回到刚才出错的这一次重新执行,怎么写呢? 展开
用户修改好后按任意键,我想回到刚才出错的这一次重新执行,怎么写呢? 展开
1个回答
展开全部
cmd提供了&&和|| 两命令连接符分别处理上一命令“正常”运行和“不正常”时运行
比如 set/a x=100/a || set x=0
还可以用 if 判断
if %errorlevel% gtr 0 echo 上一命令非正常执行
而for循环内一般应避免这种情况,实在要暂停且让用户处理可以这样写(:sub执行完后会从call之后继续执行的for命令,所以如果要重执行上一出错命令得在:sub中考虑)
for ...省略.......do (
。。。
某命令||(call :sub
。。。
)
。。。
exit
:sub
echo 上一命令出错,提示按任意键提示如何如何处理....
pause>nul
写上要处理的命令系列
。。。。
goto :eof
比如 set/a x=100/a || set x=0
还可以用 if 判断
if %errorlevel% gtr 0 echo 上一命令非正常执行
而for循环内一般应避免这种情况,实在要暂停且让用户处理可以这样写(:sub执行完后会从call之后继续执行的for命令,所以如果要重执行上一出错命令得在:sub中考虑)
for ...省略.......do (
。。。
某命令||(call :sub
。。。
)
。。。
exit
:sub
echo 上一命令出错,提示按任意键提示如何如何处理....
pause>nul
写上要处理的命令系列
。。。。
goto :eof
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询