中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 18:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]批处理中的条件语句用法 查看 850 回复 5
楼 主 [已结]批处理中的条件语句用法 发表于 2008-11-27 16:06 ·  中国 辽宁 沈阳 铁西区 电信
初级用户
积分 32
发帖 18
注册 2008-09-19 11:03
17年会员
UID 126031
性别 男
状态 离线
我有一个批处理程序,里面有很多的语句。
如果想,输入y,就执行一批语句。输入n,执行另外的一批语句。如果,输入其他的,提示,只能在y/n中选 。。。
谢谢各位,我等着用,好吗?

[ Last edited by HAT on 2008-11-27 at 17:13 ]
2 发表于 2008-11-27 16:15 ·  中国 广东 广州 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
Originally posted by crazyforcrane at 2008-11-27 04:06 PM:
我有一个批处理程序,里面有很多的语句。
如果想,输入y,就执行一批语句。输入n,执行另外的一批语句。如果,输入其他的,提示,只能在y/n中选 。。。
谢谢各位,我等着用,好吗?

@echo off
:s
set /p a=请输入内容:
if "%a%"=="y" echo 你输入的是Y&&pause>nul&exit /b
if "%a%"=="n" echo 你输入的是N&&pause>nul&exit /b
echo 你不要乱输入啊,回去。
goto s
3 这样的IF,能实现后面接很多的语句吗? 发表于 2008-11-27 16:18 ·  中国 辽宁 沈阳 铁西区 电信
初级用户
积分 32
发帖 18
注册 2008-09-19 11:03
17年会员
UID 126031
性别 男
状态 离线
如果满足条件Y,我想在后面使用很多的语句,如果是N,也有好多语句,可以吗?
4 发表于 2008-11-27 16:19 ·  中国 广东 广州 电信
初级用户
★★
积分 131
发帖 119
注册 2007-06-12 22:50
19年会员
UID 91125
性别 男
来自 gz
状态 离线
Originally posted by crazyforcrane at 2008-11-27 04:18 PM:
如果满足条件Y,我想在后面使用很多的语句,如果是N,也有好多语句,可以吗?


可以。要多少都行
@echo off
:s
set /p a=请输入内容:
if "%a%"=="y" goto y
if "%a%"=="n" goto n
echo 你不要乱输入啊,回去。
goto s

:y
echo 你输入的是Y
pause>nul
exit /b

:n
echo 你输入的是N
pause>nul
exit /b

自己在:Y和N后面加多少就多少就行了。批处理就是一行一行运行下来的。

[ Last edited by sea1112 on 2008-11-27 at 16:23 ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
crazyforcrane +2 2008-11-27 16:28
moniuming +3 2008-11-27 16:29
5 发表于 2008-11-27 16:33 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
如果楼主不限制输入的 Y 和 N 的大小写的话,要改成这样:
if /i "%a%"=="y" goto y
if /i "%a%"=="n" goto n
6 发表于 2008-11-27 17:10 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
set /p a=请输入内容:
if /i "%a%"=="y" (
echo 你输入的是Y
) else if /i "%a%"=="n" (
echo 你输入的是N
) else (
echo 你不要乱输入啊
)
pause
论坛跳转: