标题: 帮忙写个判断语句
[打印本页]
作者: bbq123bbq
时间: 2007-5-11 23:35
标题: 帮忙写个判断语句
@echo off
set /p ip=请输入要扫描IP:
for /f "tokens=3 delims=: " %%i in ('ping -n 1 %ip%^|find /i "reply from"') do set a=%%i
for /f "tokens=5 delims=time<" %%j in ('ping -n 1 %ip%^|find /i "reply from"') do set b=%%j
我想加个判断如果ping通就显示:
echo 连接 %a% 成功,网络延迟 %b% ms %time:~0,8%
如果ping不通就显示:
echo 连接%a%不成功网络丢包
请帮忙写全...搞拉几个小时写不好判断
作者: dikex
时间: 2007-5-12 00:08
@echo off
set /p ip=请输入要扫描IP:
for /f "skip=8 tokens=3 delims=," %%i in ('ping /n 1 %ip%') do call :doit %%i
echo 连接%ip%不成功网络丢包
goto :end
:doit
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
:end
pause
exit
作者: bbq123bbq
时间: 2007-5-12 00:20
可以解释一下
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
的意思吗???只要是%1 和%2
作者: bbq123bbq
时间: 2007-5-12 00:30
可以解释一下
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
的意思吗???只要是%1 和%2
作者: dikex
时间: 2007-5-12 00:32
打开回显并设置echo等显示变量就可以知道了
ping通时会执行类似于下面的
call :doit Average = 40ms
在批处理里面,","和"="等都可以充当空格的分隔符号作用,所以下面的%1和%2就是代指Average和40ms;