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

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

[复制链接]
发表于 2010-8-14 20:26:19 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-12-25 14:03 编辑

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

比如一下标签:

:000000000001
:000000000002

:00000000000a0000000000
:00000000000b0000000000

甚至汉字标签:

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

goto call 都能正确跳转,那么如何理解最大8字符的限制呢?
发表于 2010-8-15 09:10:27 | 显示全部楼层
goto /?

GOTO label

  label   指定批处理程序中用作标签的文字字符串。
发表于 2010-8-15 12:17:12 | 显示全部楼层
在哪里看到呢?
发表于 2010-8-15 17:02:49 | 显示全部楼层
使用有效的 label 值
可以在 label 参数中使用空格,但不得包括其他分隔符(例如分号或等号)。goto 命令只使用标签的前八个字符。例如,下面的标签是等效的,且都将解析为 :hithere0:

:hithere0

:hithere01

:hithere02


另: 不建议使用中文标签,有时会致使产生莫名错误.
 楼主| 发表于 2010-8-21 16:26:54 | 显示全部楼层

回复 3楼 的帖子

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

《批处理在windows中的典型应用》
 楼主| 发表于 2010-8-21 16:30:31 | 显示全部楼层

回复 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” ,何解?
发表于 2010-8-21 17:12:10 | 显示全部楼层
估计是DOS版本不一样

新版本支持长标签了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 22:55 , Processed in 0.010053 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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