Board logo

标题: 请教 关于 if 判断语句的使用 [打印本页]

作者: a794685135     时间: 2008-7-17 20:34    标题: 请教 关于 if 判断语句的使用

具体问题是这样:
在用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 ]
作者: HAT     时间: 2008-7-17 21:35

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
)

作者: a794685135     时间: 2008-7-17 21:50


  Quote:
Originally posted by HAT at 2008-7-17 09:35 PM:
[code]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)然后达到上面的效果?
作者: a794685135     时间: 2008-7-17 21:59


  Quote:
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 ]
作者: a794685135     时间: 2008-7-17 22:54
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 , 终于搞定了 !!