中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 求 goto :eof结合call的用法 上一主题 | 下一主题
ieutk
初级用户




积分 107
发帖 48
注册 2006-11-30
状态 离线
『楼 主』:  求 goto :eof结合call的用法

如题:请教各位高手啦!

2007-5-26 13:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 2 楼』:  



请把问题描述清楚

[ Last edited by bjsh on 2007-5-26 at 02:09 PM ]

2007-5-26 14:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ansipeter
中级用户

替身



积分 269
发帖 130
注册 2007-3-23
状态 离线
『第 3 楼』:  

小生不才,粗略解释一下:

     在2000及其以上系统,P处理语句GOTO新增了:EOF系统标签,意思是移动到当前P处理文件的结尾,EOF==END OF FILE的缩写,意为文件结尾,主要表现形式为:
GOTO :EOF
OR
GOTO:EOF


      CALL语句也有了新加功能,CALL语句除了可以调用应用程序及P处理文件外,还可以调用P处理文件的标签,这个很像是编程中的子过程调用具体,主要表现为:

CALL 路径\程序名称
CALL 路径\P处理文件名
CALL :LABLE 参数

楼主所提到的是CALL语句和GOTO语句的结合用法,实例如下:
@echo off&setlocal
for %%a in (hello;world;good;feel;thankyou) do call :ansi %%a 这句是用CALL语句调用:ANSI标签,并将%%a的值做为第一个参数传递给指定的标签
echo Finish!!!
goto:eof
:ansi
echo %1
goto:eof  注意:这里使用goto:eof 语句是为了返回FOR语句继续执行,如果echo %1这句语句是文件的最后一条一句那么goto:eof可有可无,如果后面还有其他语句,那必须要用goto:eof语句返回才可以。


   此帖被 +10 点积分     点击查看详情   
评分人:【 lxmxn 分数: +4  时间:2007-5-26 16:02
评分人:【 ieutk 分数: +2  时间:2007-5-26 19:22
评分人:【 oilio 分数: +4  时间:2007-6-24 10:18


2007-5-26 15:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ieutk
初级用户




积分 107
发帖 48
注册 2006-11-30
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by ansipeter at 2007-5-26 03:18 PM:
小生不才,粗略解释一下:

     在2000及其以上系统,P处理语句GOTO新增了:EOF系统标签,意思是移动到当前P处理文件的结尾,EOF==END OF FILE的缩写,意 ...

非常感谢兄的回答,我要的就是这个,老是搞不清楚call调用子标签时里的goto :eof 是什么意思,现在明白啦,再次感谢!


再者,如你所说,ansi标签里的goto :eof是为返回for语句,那么,主程序里的最后一行的那个goto :eof我可不可以理解为退出程序呢!

2007-5-26 19:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
oilio
高级用户

前进者


积分 641
发帖 303
注册 2007-1-10
状态 离线
『第 5 楼』:  

不错,我以前也不太懂,现在懂一些这样的用法了。谢谢!



我相信总有一天,总会遇到一个人可以相濡以沫、相吻以湿!
2007-6-24 10:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
b102588
初级用户




积分 83
发帖 34
注册 2007-4-22
状态 离线
『第 6 楼』:  

恩 有点了解了



快乐崇拜
2007-8-8 15:12
查看资料  发送邮件  发短消息 网志  OICQ (499083435)  编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 7 楼』:  

这个在某些时候很好用。
比如可以通过call+goto :eof避开延迟扩展。

2007-8-10 08:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Jansky
新手上路





积分 18
发帖 9
注册 2006-3-12
状态 离线
『第 8 楼』:  

谢谢,豁然开朗了!!!!!!!

2007-10-15 14:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 9 楼』:  

eof 是系统自定义的;  ?

2007-11-26 10:34
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
junyee
中级用户




积分 253
发帖 112
注册 2006-5-31
状态 离线
『第 10 楼』:  

以前老以为goto:eof就是退出。。。
原来还有这样的用法啊???

2007-11-26 10:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hlowd
初级用户





积分 65
发帖 29
注册 2007-11-3
状态 离线
『第 11 楼』:  

不错 清楚了

2007-12-10 21:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 12 楼』:  

好东西,写的注释太有用了!

2008-1-17 23:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baijuyihaha
初级用户





积分 36
发帖 17
注册 2007-10-26
状态 离线
『第 13 楼』:  求教setlocal

setlocal是干什么的?好象不加也行

2008-1-18 21:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baijuyihaha
初级用户





积分 36
发帖 17
注册 2007-10-26
状态 离线
『第 14 楼』:  求教echo %1

为什么必须是echo %1 ?

2008-1-18 21:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wanqiming
新手上路





积分 14
发帖 6
注册 2008-2-8
状态 离线
『第 15 楼』:  good

good

2008-2-10 21:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: