Board logo

标题: [系统相关] 如何理解批处理标签字符串8个字符的长度限制? [打印本页]

作者: bluewing009    时间: 2010-8-14 20:26     标题: 如何理解批处理标签字符串8个字符的长度限制?

本帖最后由 pcl_test 于 2016-12-25 14:03 编辑

偶然看到“标识符有效长度最多为8字符”这句话,不能理解

比如一下标签:

:000000000001
:000000000002

:00000000000a0000000000
:00000000000b0000000000

甚至汉字标签:

:呵呵呵加速
:呵呵呵减速

goto call 都能正确跳转,那么如何理解最大8字符的限制呢?
作者: slore    时间: 2010-8-15 09:10

goto /?

GOTO label

  label   指定批处理程序中用作标签的文字字符串。
作者: Batcher    时间: 2010-8-15 12:17

在哪里看到呢?
作者: hfg1977    时间: 2010-8-15 17:02

使用有效的 label 值
可以在 label 参数中使用空格,但不得包括其他分隔符(例如分号或等号)。goto 命令只使用标签的前八个字符。例如,下面的标签是等效的,且都将解析为 :hithere0:

:hithere0

:hithere01

:hithere02


另: 不建议使用中文标签,有时会致使产生莫名错误.
作者: bluewing009    时间: 2010-8-21 16:26     标题: 回复 3楼 的帖子

BOOK中,偶尔翻翻发现有这么一条

《批处理在windows中的典型应用》
作者: bluewing009    时间: 2010-8-21 16:30     标题: 回复 4楼 的帖子

以下代码
  1. @echo off
  2. echo begin
  3. pause
  4. goto hithere01
  5. :hithere0
  6. echo 00
  7. pause
  8. :hithere01
  9. echo 01
  10. pause
  11. :hithere02
  12. echo 02
  13. pause
复制代码
按照所述,“且都将解析为 :hithere0”  运行应该显示“0”才对,但是实际为“01” ,何解?
作者: czjt1234    时间: 2010-8-21 17:12

估计是DOS版本不一样

新版本支持长标签了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2