Board logo

标题: goto :eof让标签变得如此美丽 [打印本页]

作者: dnawo     时间: 2008-4-25 23:57    标题: goto :eof让标签变得如此美丽


@echo off

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

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

@pause>nul
执行结果:

  Quote:
早上好!
中午好!
晚上好!
[按任意键]
该睡觉了!
[按任意键]
中午好!
晚上好!
[按任意键退出]

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

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

:noon
    @echo 中午好!
@goto :eof
:night
    @echo 晚上好!
@goto :eof
执行结果:

  Quote:
早上好!
中午好!
晚上好!
该睡觉了!
[按任意键退出]

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

[ Last edited by dnawo on 2010-9-30 at 15:13 ]
作者: moniuming     时间: 2008-4-26 12:18
如果没有红色的部分,那么还会显示"中午好!"才会退出程序.


@echo off

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

:noon
    @echo 中午好!
@goto :eof
:night
    @echo 晚上好!
@goto :eof
作者: haiou327     时间: 2008-8-10 00:54

@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 ]
作者: dnawo     时间: 2010-9-30 15:15
我今天翻旧代码看时,才发现当初贴错了,对不住大家了-_-

[ Last edited by dnawo on 2010-9-30 at 15:26 ]
作者: acaigg     时间: 2010-12-27 21:23
学习中
作者: luckydds     时间: 2011-1-14 14:24
学习了 goto:eof 就是跳到批处理的结尾。