中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 帮忙写个判断语句 上一主题 | 下一主题
bbq123bbq
初级用户




积分 197
发帖 77
注册 2006-9-19
状态 离线
『楼 主』:  帮忙写个判断语句

@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%不成功网络丢包
请帮忙写全...搞拉几个小时写不好判断

2007-5-11 23:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 2 楼』:  


@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




正在潜水修练的批处理小白
2007-5-12 00:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bbq123bbq
初级用户




积分 197
发帖 77
注册 2006-9-19
状态 离线
『第 3 楼』:  

可以解释一下
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
的意思吗???只要是%1 和%2

2007-5-12 00:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bbq123bbq
初级用户




积分 197
发帖 77
注册 2006-9-19
状态 离线
『第 4 楼』:  

可以解释一下
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
的意思吗???只要是%1 和%2

2007-5-12 00:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 5 楼』:  

打开回显并设置echo等显示变量就可以知道了

ping通时会执行类似于下面的
call :doit  Average = 40ms

在批处理里面,","和"="等都可以充当空格的分隔符号作用,所以下面的%1和%2就是代指Average和40ms;



正在潜水修练的批处理小白
2007-5-12 00:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: