找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24891|回复: 5

[文本处理] [已解决]批处理goto语句标签是否需要加?

[复制链接]
发表于 2012-5-4 11:28:21 | 显示全部楼层 |阅读模式
刚开始学批处理的时候,喜欢goto后面加上“:”,但后来发现在if 语句中 goto 是可以不用“:”的,因此很久都没有再加“:” .
但是今天写了一个简易的函数,用call调用,函数中存在goto eof语句,我习惯性的不加“:”于是报错了,加上之后正常运行。
我想请教一下,什么时候要加:什么时候可以不加:.是不是call语句有什么魔力,新手上路,请多多指点!
发表于 2012-5-4 15:12:55 | 显示全部楼层
我也是新手,我只知道看goto/?和call/?
其中,goto 后面的标签不必使用冒号:   比如 goto lable
相反,call 后面的标签必须使用冒号:   比如 call :lable
另外,goto :eof 是一个被定义了的命令,类似于echo on/off。单独看echo命令是回显的意思,而echo off则变成了关闭回显。同样,goto命令是跳转的意思,而goto :eof则变成了返回的意思。
也就是,当goto或call跳转到一个新便签后,如果它需要自动返回,那么就在标签末尾使用goto :eof帮助返回——返回到批处理命令开始跳转标签的后面。

口诀:goto有去不回,call有去有回,goto :eof自动结束和返回。
发表于 2012-5-4 16:48:54 | 显示全部楼层
不管是神马标签,统统加上冒号。不必纠结
 楼主| 发表于 2012-5-4 21:01:06 | 显示全部楼层
回复 2# cjiabing


    OK 谢版主!
 楼主| 发表于 2012-5-4 21:01:49 | 显示全部楼层
回复 3# gawk


    恩,加上百利而无一害
发表于 2012-5-4 21:23:46 | 显示全部楼层
谢谢 cjiabing 版主!! 平日里还真没有注意到这个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:03 , Processed in 0.016734 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表