标题: IF判断的问题
[打印本页]
作者: pigpigs
时间: 2008-10-10 13:28
标题: IF判断的问题
我想写一个IF的判断,但不知道具体的写法:主要思路是,IF a=1或a=2.....,有N个条件,执行第一个命令,IF a=A或a=B 就执行另一个命令,就是这个“或”怎么表达呢?
作者: HAT
时间: 2008-10-10 13:34
@echo off
set /p a=a是什么?
if "%a%" equ "1" (
echo 执行第一个命令
) else if "%a%" equ "2" (
echo 执行第一个命令
) else if "%a%" equ "A" (
echo 执行第二个命令
) else if "%a%" equ "B" (
echo 执行第二个命令
)
pause
作者: pigpigs
时间: 2008-10-10 13:38
谢谢版主的的回答,这样的写法是可行的,但问题是如果这样写的话,我的判断有N多个,我会写N多个else if, 要执行的命令只有两个,可不可以像有的可以用“or”命令的那种行式呢?if a=1 or a=2这样的???
作者: HAT
时间: 2008-10-10 13:44
批处理中的if没有or的用法
作者: xah
时间: 2008-10-10 14:19
@echo off
set /p a=请输入一个值:
for %%i in (1,2,3) do (
if %%i equ %a% goto a
)
for %%j in (a,b,c) do (
if %%j equ %a% goto b
)
goto end
:a
echo 命令1
goto end
:b
echo 命令2
:end
pause
作者: bat-zw
时间: 2008-10-10 17:17
请楼主参阅以下代码:
@echo off
set "code=1#a 2#b 3#c 4#d 5#e"
set /p str=请输入1-5间的数或a-e间的字母:
for %%a in (%code%) do (
for /f "tokens=1,2 delims=#" %%i in ("%%a") do (
if "%str%" equ "%%i" goto a
if /i "%str%" equ "%%j" goto b
)
)
echo 错误输入!
pause>nul&goto :eof
:a
echo 你选择的是a选项!
pause>nul&goto :eof
:b
echo 你选择的是b选项!
pause>nul
[
Last edited by bat-zw on 2008-10-10 at 17:22 ]