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


执行结果:

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

该睡觉了!

中午好!
晚上好!


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

@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 ]

作者: 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 就是跳到批处理的结尾。