标题: [系统相关] 代码错误:选择序号的批处理不会去跑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 - @echo off
- color 9E
- @echo. LeonQiu
- @echo.
- @echo. ******CH15******
- @echo. ================================
- @echo. Honeywell *打印机*共享盘*设置
- @echo. ================================
- @echo. 1.A Area printer (32 bit)
- @echo.
- @echo. 2.A Area printer (64 bit)
- @echo.
- @echo. 3.B Area printer (32 bit)
- @echo.
- @echo. 4.B Area printer (64 bit)
- @echo.
- @echo. 5.C Area printer (32 bit)
- @echo.
- @echo. 6.C Area printer (64bit)
- @echo.
- @echo. 7.D Area C4070 (32bit)
- @echo.
- @echo. 8.D Area C4070 (64bit)
- @echo.
- @echo.
- @echo off
-
- 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
-
-
- :A Area 32
- echo A Area 32
- goto end
-
-
- :A Area 64
- echo A Area 64
- goto end
-
-
-
- :B Area 32
- echo B Area 32
- goto end
-
-
- :B Area 64
- echo B Area 64
- goto end
-
-
- :C Area 32
- echo C Area 32
- goto end
-
-
- :C Area 64
- echo C Area 64
- goto end
-
-
- :D Area 32
- echo D Area 32
- goto end
-
-
- :D Area 64
- echo D Area 64
- goto end
-
- :end
-
- 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 - @echo off
- color 9E
- @echo. LeonQiu
- @echo.
- @echo. ******CH15******
- @echo. ================================
- @echo. Honeywell *打印机*共享盘*设置
- @echo. ================================
- @echo. 1.A Area printer (32 bit)
- @echo.
- @echo. 2.A Area printer (64 bit)
- @echo.
- @echo. 3.B Area printer (32 bit)
- @echo.
- @echo. 4.B Area printer (64 bit)
- @echo.
- @echo. 5.C Area printer (32 bit)
- @echo.
- @echo. 6.C Area printer (64bit)
- @echo.
- @echo. 7.D Area C4070 (32bit)
- @echo.
- @echo. 8.D Area C4070 (64bit)
- @echo.
- @echo.
- @echo off
-
- 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
-
-
- :A_Area_32
- echo A_Area_32
- goto end
-
-
- :A_Area_64
- echo A_Area_64
- goto end
-
-
-
- :B_Area_32
- echo B_Area_32
- goto end
-
-
- :B_Area_64
- echo B_Area_64
- goto end
-
-
- :C_Area_32
- echo C_Area_32
- goto end
-
-
- :C_Area_64
- echo C_Area_64
- goto end
-
-
- :D_Area_32
- echo D_Area_32
- goto end
-
-
- :D_Area_64
- echo D_Area_64
- goto end
-
- :end
-
- 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 |