[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]set/p命令如何让用户输入时,只能输入特定的值

本帖最后由 laminor 于 2017-9-20 20:12 编辑

比如这个批处理,输入值为1.2.3.4时都可以执行相应操作,但是当输入其他值或输入为空时,仍然会出现输入为1,怎么让输入的值为其他或空值时显示输入错误
  1. @echo off
  2. :menu
  3. set aa=
  4. set /p aa=请输入数字:
  5. if %aa% equ 1 goto 1
  6. if %aa% equ 2 goto 2
  7. if %aa% equ 3 goto 3
  8. if %aa% equ 4 goto 4
  9. echo.
  10. :1
  11. echo 输入为1
  12. pause
  13. goto menu
  14. :2
  15. echo 输入为2
  16. pause
  17. goto menu
  18. :3
  19. echo 输入为3
  20. pause
  21. goto menu
  22. :4
  23. echo 输入为4
  24. pause
  25. goto menu
复制代码

本帖最后由 laminor 于 2017-9-20 00:01 编辑

回复 3# 不知道是谁


    加了之后试了一下
运行时先输入4,返回正常,再输入空值时就自动退出了,这是为什么?

TOP

本帖最后由 laminor 于 2017-9-20 20:02 编辑

回复 8# 1055367558


    他的意思是如果1234四个标签对应得是四个不同的命令的话,简写的那个代码就没用了,因为简写的代码把四个标签用一个命令输出了

TOP

本帖最后由 laminor 于 2017-9-20 20:26 编辑

回复 5# 1055367558


    虽然加了变量延迟,但是并没有解决输入为"或空格的问题
我是指没有简写的代码

把%aa%改成!aa!就可以了,改的时候可能没注意,谢谢

TOP

返回列表