Joyhanson815
2021-07-10 22:49
采纳率: 100%
浏览 19

在bat批量处理命令中 代码单行以冒号+数字 “:1” ":2"开头 有什么作用呢?

@Echo Off
:1
Set /p str=《青玉案·元夕》作者是谁?
If not %str%==辛弃疾 echo 错误 & goto 1
If %str%==辛弃疾 echo 正确
:2
Set /p str=《红楼梦》前80回的作者是谁?
If not %str%==曹雪芹 echo 错误 & goto 2
If %str%==曹雪芹 echo 正确
Pause>Nul

为什么"goto 1" 就执行命令 “Set /p str=《青玉案·元夕》作者是谁”, "goto 2" 就执行 “Set /p str=《红楼梦》前80回的作者是谁”这条命令?不太理解

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-07-11 00:36
    已采纳

    批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX跳转到标号:XXX处,然后执行标号后的命令。所以在语句中当if条件满足时,用goto语句实现跳转到标号为1 处,继续往下执行,第二段判断同理。在批处理中用于标记的冒号后面只能跟字母数字,如后面跟其他非字母数字,那就是注释了,如::,:+等。具体你可以参考这些命令的用法。https://www.cnblogs.com/lizm166/p/11132601.html

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • 浪客 2021-07-10 23:19

    批处理中冒号:是跳转标记,结合goto使用,可以作为if跳转,或者循环跳转使用

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题