中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-26 05:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论]批处理中是否有专门的无限循环语句? 查看 1,713 回复 9
楼 主 [讨论]批处理中是否有专门的无限循环语句? 发表于 2009-10-22 10:37 ·  中国 广东 深圳 电信
初级用户
积分 40
发帖 23
注册 2009-10-15 21:49
16年会员
UID 153140
性别 男
状态 离线
除了
:begin
...
goto :begin

这样实现无限循环外

是否有别的无限循环语句?或者实现方法?
2 发表于 2009-10-22 11:51 ·  中国 北京 东城区 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
无限重复执行批处理本身可以直接在结尾加上批处理文件自身的名字,
或者直接加%~n0

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
3 发表于 2009-10-22 12:46 ·  中国 广东 深圳 电信
初级用户
积分 40
发帖 23
注册 2009-10-15 21:49
16年会员
UID 153140
性别 男
状态 离线
Originally posted by yishanju at 2009-10-22 11:51:
无限重复执行批处理本身可以直接在结尾加上批处理文件自身的名字,
或者直接加%~n0

呵呵,名称扩展。。。学习了
4 发表于 2009-11-16 22:59 ·  中国 湖北 天门 电信
中级用户
★★
积分 208
发帖 135
注册 2009-09-12 12:00
16年会员
UID 151902
来自 离恨天
状态 离线
1.bat调用2.bat;2.BAT调用1.bat
5 发表于 2009-11-17 00:39 ·  中国 上海 电信
初级用户
积分 24
发帖 24
注册 2009-09-21 07:50
16年会员
UID 152383
性别 男
状态 离线
学习了,学习了

[ Last edited by nerfg002 on 2009-11-17 at 00:41 ]
6 发表于 2009-11-17 01:45 ·  中国 湖南 郴州 电信
新手上路
积分 4
发帖 4
注册 2009-09-12 07:30
16年会员
UID 151888
性别 男
状态 离线
二楼说的不错
如下
文件名 a.bat
内容 srtat a
保存后双击执行,好比一个网页炸弹
按ctrl+c多次可以终止
7 发表于 2009-11-17 17:24 ·  中国 湖北 荆门 电信
初级用户
★★
积分 186
发帖 117
注册 2006-08-14 14:50
19年会员
UID 60491
状态 离线
for /l %%i in () do echo looping...
8 发表于 2009-11-17 20:39 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
最简代码:
%0
9 发表于 2009-11-20 09:12 ·  中国 天津 电信
初级用户
★★
积分 128
发帖 122
注册 2009-09-21 06:24
16年会员
UID 152378
性别 男
状态 离线
又学到了一些新知识,谢谢楼上各位~
10 发表于 2009-11-21 13:34 ·  中国 北京 东城区 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
Originally posted by mountvol at 2009-11-17 05:24 PM:
for /l %%i in () do echo looping...

正解!
%0 是无限运行自身吧,而且只能用于批处理中,与无限循环还是很大不同的。

这个代码改成下面这样好理解点,从0到1,每次递增0地做一件事,那么就是永远都做不完,就是无限循环了。

在批处理种可以循环一个模块:

@echo off
for /l %%i in (0,0,1) do (call :aaaaa 参数)
exit

:aaaaa
echo %1


在CMD命令行中直接循环:

for /l %i in (0,0,1) do (echo 参数)


[ Last edited by qinchun36 on 2009-11-21 at 13:39 ]
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
论坛跳转: