中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 03:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教 关于 if 判断语句的使用 查看 777 回复 4
楼 主 请教 关于 if 判断语句的使用 发表于 2008-07-17 20:34 ·  中国 湖南 株洲 联通
初级用户
积分 71
发帖 34
注册 2007-12-20 23:57
18年会员
UID 106311
性别 男
状态 离线
具体问题是这样:
在用netsh -f 导入ip从而达到设置ip的时候
判断输入的值, 如果是1 2 8 9 则修改本地网关 改成输入的值结尾的(比如输入1 则该网关为192.168.0.1)
如果输入的不是1 2 8 9中的值 而且如果是a 的话就 goto a
如果以上都不成立 则 goto d

这么写这个判断语句 ?

[ Last edited by a794685135 on 2008-7-17 at 09:26 PM ]
2 发表于 2008-07-17 21:35 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
set /p input=输入:
if %input% equ 1 (
echo 网关为192.168.0.1
) else if %input% equ 2 (
echo 网关为192.168.0.2
) else if %input% equ 8 (
echo 网关为192.168.0.8
) else if %input% equ 9 (
echo 网关为192.168.0.9
)else if %input% equ a (
goto :a
)else (
goto :d
)
3 发表于 2008-07-17 21:50 ·  中国 湖南 株洲 联通
初级用户
积分 71
发帖 34
注册 2007-12-20 23:57
18年会员
UID 106311
性别 男
状态 离线
Originally posted by HAT at 2008-7-17 09:35 PM:
set /p input=输入:
if %input% equ 1 (
echo 网关为192.168.0.1
) else if %input% equ 2 (
echo 网关为192.168.0.2
) else if %input% equ 8 (
echo 网关为192.168.0.8
) else ...



谢谢楼上的 ,

还想问一下, 可不可以用for %%i in (1 2 8 9)然后达到上面的效果?
4 发表于 2008-07-17 21:59 ·  中国 湖南 株洲 联通
初级用户
积分 71
发帖 34
注册 2007-12-20 23:57
18年会员
UID 106311
性别 男
状态 离线

set /p ip=:
for %%i in (1 2 8 9) do if %ip% equ %%i (
goto 1
) else if %ip%==a (
goto a
) else (
goto d
)


还是不行, 在for里面只取了1 而没有取到2 8 9

[ Last edited by a794685135 on 2008-7-17 at 10:06 PM ]
5 发表于 2008-07-17 22:54 ·  中国 湖南 株洲 联通
初级用户
积分 71
发帖 34
注册 2007-12-20 23:57
18年会员
UID 106311
性别 男
状态 离线
set /p ip=输入:
for %%a in (1 2 8 9) do set .%%a=%%a
if /i "%ip%"=="a" goto a
if not defined .%ip% goto d
goto 1 ::不满足以上2个条件则执行此句

OK , 终于搞定了 !!
论坛跳转: