中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: IF判断的问题 上一主题 | 下一主题
pigpigs
初级用户





积分 41
发帖 28
注册 2008-8-19
状态 离线
『楼 主』:  IF判断的问题

我想写一个IF的判断,但不知道具体的写法:主要思路是,IF a=1或a=2.....,有N个条件,执行第一个命令,IF a=A或a=B 就执行另一个命令,就是这个“或”怎么表达呢?

2008-10-10 13:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  


@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




2008-10-10 13:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pigpigs
初级用户





积分 41
发帖 28
注册 2008-8-19
状态 离线
『第 3 楼』:  

谢谢版主的的回答,这样的写法是可行的,但问题是如果这样写的话,我的判断有N多个,我会写N多个else if, 要执行的命令只有两个,可不可以像有的可以用“or”命令的那种行式呢?if a=1 or a=2这样的???

2008-10-10 13:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

批处理中的if没有or的用法



2008-10-10 13:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xah
新手上路





积分 5
发帖 2
注册 2008-10-10
状态 离线
『第 5 楼』:  


@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


2008-10-10 14:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  

请楼主参阅以下代码:
@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 ]



批处理之家新域名:www.bathome.net
2008-10-10 17:17
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: