Board logo

标题: [系统相关] 代码错误:选择序号的批处理不会去跑IF的选择项 [打印本页]

作者: lion991128    时间: 2014-6-24 10:24     标题: 代码错误:选择序号的批处理不会去跑IF的选择项

本帖最后由 lion991128 于 2014-6-24 11:57 编辑

以前我这个代码一直在用的 最近使用了变成了 不会取值选择序号了 还请帮忙看看是哪里问题??

现在在选择序号的时候不会去跑IF的选择项 而是直接的一步一步往下跑 就像没有选择这回事一样。[code]set /p xuanze= 请输入区域打印机的序号:

if %xuanze% equ 1 goto A Area 32
if %xuanze% equ 2 goto A Area 64
if %xuanze% equ 3 goto B Area 32
if %xuanze% equ 4 goto B Area 64
if %xuanze% equ 5 goto C Area 32
if %xuanze% equ 6 goto C Area 64
if %xuanze% equ 7 goto D Area 32
if %xuanze% equ 8 goto D Area 64
作者: Batcher    时间: 2014-6-24 10:34

把完整的bat文件压缩一下,传上来看看。
作者: xudaweb    时间: 2014-6-24 10:35

回复 1# lion991128


    你改成从8递减开始选择,试试看?
作者: lion991128    时间: 2014-6-24 10:40

上传了 还请帮忙看看 谢谢
作者: Batcher    时间: 2014-6-24 11:10

回复 4# lion991128
  1. @echo off
  2. color   9E
  3. @echo. LeonQiu
  4. @echo.
  5. @echo.                              ******CH15******
  6. @echo.                        ================================
  7. @echo.                          Honeywell *打印机*共享盘*设置
  8. @echo.                        ================================
  9. @echo. 1.A Area printer (32 bit)
  10. @echo.
  11. @echo. 2.A Area printer (64 bit)
  12. @echo.
  13. @echo. 3.B Area printer (32 bit)
  14. @echo.
  15. @echo. 4.B Area printer (64 bit)
  16. @echo.
  17. @echo. 5.C Area printer (32 bit)
  18. @echo.
  19. @echo. 6.C Area printer (64bit)
  20. @echo.
  21. @echo. 7.D Area  C4070 (32bit)
  22. @echo.
  23. @echo. 8.D Area C4070 (64bit)
  24. @echo.
  25. @echo.
  26. @echo off
  27. set /p xuanze= 请输入区域打印机的序号:
  28. if %xuanze% equ 1 goto A Area 32
  29. if %xuanze% equ 2 goto A Area 64
  30. if %xuanze% equ 3 goto B Area 32
  31. if %xuanze% equ 4 goto B Area 64
  32. if %xuanze% equ 5 goto C Area 32
  33. if %xuanze% equ 6 goto C Area 64
  34. if %xuanze% equ 7 goto D Area 32
  35. if %xuanze% equ 8 goto D Area 64
  36. :A Area 32
  37. echo A Area 32
  38. goto end
  39. :A Area 64
  40. echo A Area 64
  41. goto end
  42. :B Area 32
  43. echo B Area 32
  44. goto end
  45. :B Area 64
  46. echo B Area 64
  47. goto end
  48. :C Area 32
  49. echo C Area 32
  50. goto end
  51. :C Area 64
  52. echo C Area 64
  53. goto end
  54. :D Area 32
  55. echo D Area 32
  56. goto end
  57. :D Area 64
  58. echo D Area 64
  59. goto end
  60. :end
  61. pause
复制代码
我用这个代码测试了一下,没有发现你说的问题。
作者: lion991128    时间: 2014-6-24 11:56

回复 5# Batcher

我怎么用的按4和5都是跑到同一个地方?
作者: lion991128    时间: 2014-6-24 12:10

回复 5# Batcher


    我测试了下好像只能 1,3,5,7选项是正常跳到标记的位置,但是在2,4,6,8的时候是需要经过1,3,5,7的地方的,但是经过前面直接就会跳转到end选项。。。。很妖怪
作者: Batcher    时间: 2014-6-24 12:58

回复 7# lion991128
  1. @echo off
  2. color   9E
  3. @echo. LeonQiu
  4. @echo.
  5. @echo.                              ******CH15******
  6. @echo.                        ================================
  7. @echo.                          Honeywell *打印机*共享盘*设置
  8. @echo.                        ================================
  9. @echo. 1.A Area printer (32 bit)
  10. @echo.
  11. @echo. 2.A Area printer (64 bit)
  12. @echo.
  13. @echo. 3.B Area printer (32 bit)
  14. @echo.
  15. @echo. 4.B Area printer (64 bit)
  16. @echo.
  17. @echo. 5.C Area printer (32 bit)
  18. @echo.
  19. @echo. 6.C Area printer (64bit)
  20. @echo.
  21. @echo. 7.D Area  C4070 (32bit)
  22. @echo.
  23. @echo. 8.D Area C4070 (64bit)
  24. @echo.
  25. @echo.
  26. @echo off
  27. set /p xuanze= 请输入区域打印机的序号:
  28. if %xuanze% equ 1 goto A_Area_32
  29. if %xuanze% equ 2 goto A_Area_64
  30. if %xuanze% equ 3 goto B_Area_32
  31. if %xuanze% equ 4 goto B_Area_64
  32. if %xuanze% equ 5 goto C_Area_32
  33. if %xuanze% equ 6 goto C_Area_64
  34. if %xuanze% equ 7 goto D_Area_32
  35. if %xuanze% equ 8 goto D_Area_64
  36. :A_Area_32
  37. echo A_Area_32
  38. goto end
  39. :A_Area_64
  40. echo A_Area_64
  41. goto end
  42. :B_Area_32
  43. echo B_Area_32
  44. goto end
  45. :B_Area_64
  46. echo B_Area_64
  47. goto end
  48. :C_Area_32
  49. echo C_Area_32
  50. goto end
  51. :C_Area_64
  52. echo C_Area_64
  53. goto end
  54. :D_Area_32
  55. echo D_Area_32
  56. goto end
  57. :D_Area_64
  58. echo D_Area_64
  59. goto end
  60. :end
  61. pause
复制代码

作者: lion991128    时间: 2014-6-24 13:19

回复 8# Batcher


    你这个我可以正常的,奇怪了。。
作者: lion991128    时间: 2014-6-24 13:24

回复 8# Batcher


    我用了你的这个代码加上了下划线 ,跳转正常了 难道就是标识的标签不能识别? 但是我以前一直可以用的,搞不懂什么问题了
作者: Batcher    时间: 2014-6-24 15:35

回复 10# lion991128


是XP系统吗?
可以在 label 参数中使用空格,但不得包括其他分隔符(例如分号或等号)。goto 命令只使用标签的前八个字符。





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