标题:
[文本处理]
[已解决]批处理goto语句标签是否需要加?
[打印本页]
作者:
秋风·飞扬
时间:
2012-5-4 11:28
标题:
[已解决]批处理goto语句标签是否需要加?
刚开始学批处理的时候,喜欢goto后面加上“:”,但后来发现在if 语句中 goto 是可以不用“:”的,因此很久都没有再加“:” .
但是今天写了一个简易的函数,用call调用,函数中存在goto eof语句,我习惯性的不加“:”于是报错了,加上之后正常运行。
我想请教一下,什么时候要加:什么时候可以不加:.是不是call语句有什么魔力,新手上路,请多多指点!
作者:
cjiabing
时间:
2012-5-4 15:12
我也是新手,我只知道看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自动结束和返回。
作者:
gawk
时间:
2012-5-4 16:48
不管是神马标签,统统加上冒号。不必纠结
作者:
秋风·飞扬
时间:
2012-5-4 21:01
回复
2#
cjiabing
OK 谢版主!
作者:
秋风·飞扬
时间:
2012-5-4 21:01
回复
3#
gawk
恩,加上百利而无一害
作者:
poter
时间:
2012-5-4 21:23
谢谢 cjiabing 版主!! 平日里还真没有注意到这个问题。
欢迎光临 批处理之家 (http://www.bathome.net/)
Powered by Discuz! 7.2