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

[其他] 批处理goto命令求解

[复制链接]
发表于 2013-6-25 15:10:54 | 显示全部楼层 |阅读模式
  1. @echo off

  2. :c
  3. echo                  1、aaa
  4. echo                  2、bbb
  5. echo                 请键入相应序号:
  6. set /p input=
  7. if %input%==1 goto a
  8. if %input%==2 goto b
  9. cls
  10. goto c

  11. :a
  12. echo aaa
  13. pause
  14. cls
  15. goto c
  16. :b
  17. echo bbb
  18. pause
  19. cls
  20. goto c
复制代码
刚学批处理,这个就是我想设计的一个能选择的批处理,我输入1,就运行a下面的命令,输入2,就运行b下面的命令。运行完回到选择界面。如果输其他任何,包括什么都不输直接回车,都会回到选择界面。这个如果我一次运行时就输入了,不管什么东西,貌似到达我要求了。但是我一运行,就直接回车的话会提示:这个时候不该有goto,然后命令框就关闭了。
请大大们帮忙看看哪里有问题?
发表于 2013-6-25 16:22:12 | 显示全部楼层

  1. echo                 请键入相应序号:
  2. set "input="
  3. set /p input=
  4. if "%input%"=="1" goto a
  5. if "%input%"=="2" goto b
复制代码
 楼主| 发表于 2013-6-25 21:12:14 | 显示全部楼层
我知道了,原来要加个双引号,谢谢
 楼主| 发表于 2013-6-26 09:12:06 | 显示全部楼层

疑问,goto命令


  1. @echo off
  2. :b
  3. cls
  4. echo.   1、aaa
  5. set /p aa=
  6. if "%aa%"=="1" goto a
  7. if not "%aa%"=="1" goto b

  8. :a
  9. cls
  10. echo. aaa
  11. pause >nul
  12. goto b
复制代码
选择1输出aaa后回到b的输入界面,这时直接回车不是应该仍然回到b吗?为什么会默认为上次的输入结果,又输出aaa
发表于 2013-6-26 11:49:28 | 显示全部楼层
呃,你昨天问的GOTO问题中就已经给出答案了,认真点看看
发表于 2013-6-26 11:54:24 | 显示全部楼层
变量没清空
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 15:13 , Processed in 0.018600 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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