中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 04:06
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » goto :eof让标签变得如此美丽 查看 2,038 回复 5
楼 主 goto :eof让标签变得如此美丽 发表于 2008-04-25 23:57 ·  中国 福建 福州 电信
初级用户
积分 38
发帖 13
注册 2008-04-24 14:16
UID 116814
性别 男
状态 离线
@echo off

@echo 早上好!
@call :noon
@echo 该睡觉了!&@pause>nul

:noon
@echo 中午好!
:night
@echo 晚上好!

@pause>nul


执行结果:

早上好!
中午好!
晚上好!

该睡觉了!

中午好!
晚上好!


这边标签仅仅是作为位置标识而已!将上边例子稍做修改:

@echo off

@echo 早上好!
@call :noon
@call :night
@echo 该睡觉了!&pause>nul
goto :eof

:noon
@echo 中午好!
@goto :eof
:night
@echo 晚上好!
@goto :eof


执行结果:

早上好!
中午好!
晚上好!
该睡觉了!


很明显,因为有了goto :eof,使用我们容易控制标签的开始和结束位置,因为可以控制开始和结束位置,让批处理有了类似子过程的机制,而这一切,都是因为有了goto :eof,因为goto :eof让标签变得如此美丽!

[ Last edited by dnawo on 2010-9-30 at 15:13 ]
2 发表于 2008-04-26 12:18 ·  中国 上海 电信
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
UID 103929
性别 男
来自 广西
状态 离线
如果没有红色的部分,那么还会显示"中午好!"才会退出程序.


@echo off

@echo 早上好!
@call :noon
@call :night
@echo 该睡觉了!&pause>nul&goto :eof

:noon
@echo 中午好!
@goto :eof
:night
@echo 晚上好!
@goto :eof
3 发表于 2008-08-10 00:54 ·  中国 广东 汕头 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
UID 79169
性别 男
状态 离线
@echo off

@echo 早上好!
@call :noon
@echo 该睡觉了!&@pause>nul

:noon
@echo 中午好!
goto :eof
:night
@echo 晚上好!
goto :eof

@pause>nul

执行结果:
早上好!
中午好!
晚上好!

该睡觉了!

中午好!
晚上好!



很感谢楼主这么好的帖子,不过这个结果完全是错的,第二结果才是正确的,第一个例句,楼主是没有测试的,刚才在这陷了一下,没有call:night如何能出现晚上好。
正确的结果是:早上好!
中午好!
该睡觉了!
按任意键


[ Last edited by haiou327 on 2008-8-10 at 01:07 AM ]
4 发表于 2010-09-30 15:15 ·  中国 福建 福州 电信
初级用户
积分 38
发帖 13
注册 2008-04-24 14:16
UID 116814
性别 男
状态 离线
我今天翻旧代码看时,才发现当初贴错了,对不住大家了-_-

[ Last edited by dnawo on 2010-9-30 at 15:26 ]
5 发表于 2010-12-27 21:23 ·  中国 广东 东莞 中移铁通
初级用户
★★
积分 115
发帖 92
注册 2010-12-24 16:57
UID 179794
性别 男
状态 离线
学习中
6 发表于 2011-01-14 14:24 ·  中国 天津 联通
新手上路
积分 11
发帖 8
注册 2010-05-24 23:23
UID 167538
性别 男
状态 离线
学习了 goto:eof 就是跳到批处理的结尾。
论坛跳转: