中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 21:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » if判断里如果要加入“或”应该用什么啊? 查看 1,309 回复 7
楼 主 if判断里如果要加入“或”应该用什么啊? 发表于 2006-08-03 21:38 ·  中国 上海 浦东新区 电信
初级用户
傻傻分不清楚...
积分 98
发帖 32
注册 2006-07-01 14:29
20年会员
UID 57838
来自 Shanghai
状态 离线
很简单,比如 if a==1 .or. a==2 then do...
这个“或”有办法在BAT里表示吗?用什么表示呢?
2 发表于 2006-08-04 09:09 ·  中国 上海 徐汇区 电信
中级用户
★★
论坛第一菜鸟
积分 361
发帖 166
注册 2006-04-15 13:23
20年会员
UID 53870
状态 离线
或:
if %a%==1 command...
if %a%==2 command...
且:
if %a%==1 if %b%==1 command...
非:
if not %a%==1 command...

[ Last edited by xjmxjm1234 on 2006-8-4 at 09:21 ]
Diskette Operating System
3 发表于 2006-08-05 23:17 ·  中国 上海 普陀区 电信
初级用户
傻傻分不清楚...
积分 98
发帖 32
注册 2006-07-01 14:29
20年会员
UID 57838
来自 Shanghai
状态 离线
也就是说如果对于a=1或者=2的情况下
不管怎么样command都要打两遍, 是吗?
4 发表于 2006-08-06 00:00 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
Re acoreq:

  如果command是一大段语句,可以把这一大段语句用标号标注起来,然后用goto语句来执行command;

  如果"或"的情况有好几种,则可以考虑用for语句来执行。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
5 发表于 2006-08-06 16:11
初级用户
傻傻分不清楚...
积分 98
发帖 32
注册 2006-07-01 14:29
20年会员
UID 57838
来自 Shanghai
状态 离线
和和 我这个CASE很简单,就是一个简单的或操作,而且或的条件也就2个:)
看来只能手工打两遍命令了 HOHO~
6 发表于 2006-08-06 16:36 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线

『楼 主』: if判断里如果要加入“或”应该用什么啊?
很简单,比如 if a==1 .or. a==2 then do...
这个“或”有办法在BAT里表示吗?用什么表示呢?

『第 5 楼』:

和和 我这个CASE很简单,就是一个简单的或操作,而且或的条件也就2个:)
看来只能手工打两遍命令了 HOHO~


批处理,没有什么不可以:

@echo off
set /p var=输入条件:
call :%var% 2>nul || call :error
pause>nul
goto :eof

:1
:2
echo 你输入的是1或者2
goto :eof

:3
:4
echo 你输入的是3或者4
goto :eof

:error
cls
echo 参数不正确!

7 发表于 2006-08-06 20:46
初级用户
傻傻分不清楚...
积分 98
发帖 32
注册 2006-07-01 14:29
20年会员
UID 57838
来自 Shanghai
状态 离线
挖塞!!! 这句经典啊!
call :%var% 2>nul || call :error

令我毛色顿开
看来还有很长路要走啊 HOHO~
谢谢~
8 发表于 2006-08-07 12:58 ·  中国 上海 徐汇区 电信
中级用户
★★
论坛第一菜鸟
积分 361
发帖 166
注册 2006-04-15 13:23
20年会员
UID 53870
状态 离线
是啊,没想到 call 还能这么用,强!
Diskette Operating System
论坛跳转: