批处理中goto语句自动退出的问题

@echooffsetlocalenabledelayedexpansionset/an=0:loopset/an+=1title!n!echo!n!>try.txtca... @echo off
setlocal enabledelayedexpansion
set /a n=0
:loop
set /a n+=1
title !n!
echo !n!>try.txt
call :h back
:back
goto :loop

:h
goto %1

上面的批处理,运行705次后自动退出,每次都是这样
请教是什么原因导致的
win 7 下是705次,xp 下面是1241次
看来是系统有关,但不知道具体的原因

2楼的改法完全无法实现我另外一个批处理的功能了,请各位再帮忙想想原因

呵呵,我希望实现的就是传递参数的跳转,这样可以模拟高级语言的函数回调

先谢谢: sherry22422 不知道有没有人有解决的方法,如果没有,这段代码的重复性就大了

现在我换了一种思路来做:使用全局变量记录调用的函数、传递的参数、返回的位置、返回值
修改后的代码:
@echo off
setlocal enabledelayedexpansion
set /a n=0
:loop
set /a n+=1
title !n!
echo !n!>try.txt
set funt_location=back
:back
goto :loop

:h
goto !funt_location!

感谢:sherry22422提醒
展开
 我来答
caobeikuku
2010-07-05 · TA获得超过225个赞
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:0
展开全部
这个问题有点奇怪 ,
我的是1241次。。

刚刚又实验了下 。
把跳转和call去掉了些。

变成这样
@echo off
setlocal enabledelayedexpansion
:loop
set /a n+=1
title !n!
echo !n!>try.txt
goto loop

就对了 。

问题可能出在
call :h back
这句,不管是
call :h back
还是
call :h loop
我的都会在1241次退出。
应该是传递参数的时候出了问题。

这样写还是1241次
@echo off
setlocal enabledelayedexpansion
:loop
set /a n+=1
title !n!
echo !n!>try.txt
call :h bk
call :i back

:back
echo !n!
goto loop

:h
goto %1

:i
goto %i

:bk
goto back

赶紧 膜拜 sherry22422 大大 。 - -、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sherry22422
2010-07-05 · TA获得超过2918个赞
知道小有建树答主
回答量:936
采纳率:0%
帮助的人:1057万
展开全部
在CMD环境下运行得到

****** B A T C H R E C U R S I O N exceeds STACK limits ******
Recursion Count=1240, Stack Usage=90 percent
****** B A T C H PROCESSING IS A B O R T E D ******

说明最大递归次数是1240

参考资料: http://www.cn-dos.net/forum/viewthread.php?tid=46872&fpage=9&sid=W8939o

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l20f111164
2010-07-05 · TA获得超过1694个赞
知道小有建树答主
回答量:1102
采纳率:66%
帮助的人:750万
展开全部
改成这样吧,反正你是各行,变量延迟就不用了
@echo off
set /a n=0
:loop
set /a n+=1
title %n%
echo %n%>try.txt
call :h back
:back
goto :loop

:h
goto loop

或者用下面这个,无限次
@echo off
set /a n=0
:loop
set /a n+=1
title %n%
echo %n%>try.txt
goto :loop
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式