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

#46、48、49、51楼
语法是规定的东西,没有太多的why,记住就行。
以下是一个常见的if命令的使用方法,可以用来创建菜单,比较大小,判断条件等。
IF命令帮助信息中,比较运算符可以是:
    EQU - 等于,同“==”
    NEQ - 不等于
    LSS - 小于
    LEQ - 小于或等于
    GTR - 大于
    GEQ - 大于或等于

具体使用:
  1. @echo off
  2. :start
  3. echo;
  4. echo;    请分别输入字母  a 和 A
  5. echo;    请分别输入数字 3、10、16
  6. echo;    退出请输入 Q
  7. echo;
  8. set var=
  9. ::清空延迟的变量。
  10. set /p var=  请输入任意字符,比如“A”:
  11. ::“set /p 变量名=提示语”用来与用于交互,给用户输入内容。
  12. if  "%var%"=="" goto start
  13. ::假如没有输入则返回重新输入。
  14. if  /i  %var% equ Q goto end
  15. ::使用goto命令可以跳到其他标签子项中。
  16. if  %var%  equ  a  echo 你输入了小写字母 a
  17. if  %var%  equ  A  echo 你输入了大写字母 A
  18. if  /i  %var%  == a  echo 你输入了字母 a (不分大小写)
  19. if  %var% lss 10 echo 你输入的 %var% 小于 10.
  20. if  %var% geq 10 echo 你输入的 %var% 大于等于 10.
  21. if  %var% lss 20 if %var% gtr 10 echo 你输入的 %var% 介于 20 和 10 之间。
  22. ::可以多个if条件嵌套,用于复杂的判断。
  23. echo 输入结束。
  24. pause
  25. goto start
  26. :end
  27. echo;
  28. echo  你选择了退出。
  29. pause
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

你以前的代码,我要是不输入1或2呢,又是怎么结果

TOP

回复 11# xiong8707
  1. @echo off
  2. :bigen
  3. cls
  4. set /p s=请输入1 或 2   
  5. if "%s%"=="1" goto a
  6. if "%s%"=="2" goto b
  7. goto err
  8. :err
  9. color 4f
  10. echo.
  11. echo  错误, 你输入的是"%s%"不是数字1或2 请重新输入
  12. pause>nul 2>nul
  13. goto bigen
  14. :a
  15. color 2f
  16. cls
  17. echo 正确!你输入的是%s%=1
  18. pause>nul 2>nul
  19. exit
  20. :b
  21. color 2f
  22. cls
  23. echo 你输入的是%s%=2
  24. pause>nul 2>nul
  25. exit
复制代码

TOP

本帖最后由 zaixinxiangnian 于 2011-8-13 22:21 编辑

回复 "10"  
初学者大家见笑了
code:
@echo off
set /p val=请输入值:>nul
if "%val%" equ "0" (echo 你输入了%val%&goto d) else goto abc
:abc
if "%val%" equ "1" (echo 你输入了%val%&goto d) else goto ab
:ab
if "%val%" equ "2" (echo 你输入了%val%&goto d) else goto g
:g
color 16
echo 你的输入错误
:d
pause
1

评分人数

    • cjiabing: 超过两行的代码请用框框括起来。如何用code ...PB -6

TOP

less than or equal
这个应该是小于或等于吧?

TOP

less than or equal
这个应该是小于或等于吧?

TOP

本帖最后由 wpNature 于 2011-7-8 09:46 编辑

The ELSE clause must occur on the same line as the command after the IF.
For example:

IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)

The below example would NOT work because the del command needs to be terminated by a newline:

IF EXIST filename. del filename. ELSE echo filename. missing

Nor would the below example work, since the ELSE command must be on the same line as the end of the IF command:

IF EXIST filename. del filename.
ELSE echo filename. missing

The below example would work if you want it all on one line:


IF EXIST filename. (del filename.) ELSE echo filename. missing


PS:SEE MORE INFORMATION ABOUT ABOVE :http://www.computerhope.com/if.htm
一生的努力,才能求的灵魂的安宁。

TOP

用set命令接收到的"输入数字"是什么类型的变量

TOP

13# xujin1402008


set /p s
为什么要/P , /P做什么用的?

TOP

14楼  真有创意  哈哈

TOP

13# xujin1402008


请问朋友,为什么换成EQU执行就正确有,==输入2会执行不了呢

TOP

输入1 或 2    a
a
你输入的是1
输入1 或 2
a
你输入的是1
输入1 或 2
a
你输入的是1
输入1 或 2
a
你输入的是1
输入1 或 2    c
c
你输入的是1
输入1 或 2    ed'c
ed'c
你输入的是1
====================================
好吧,一个巨大的BUG

TOP

感觉不是很详细,还是有些不懂呢,到时再来请教- -

TOP

恩,我是新手,我想知道十四楼的set "no=%no:"=%"
是什么意思,set 后面的是什么意思
haohaoxuexi

TOP

看貼必回。學習中

TOP

返回列表