中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 14:19
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 帮忙写个判断语句
可打印版本  828 / 4
第1楼 bbq123bbq 发表于 2007-05-11 23:35
初级用户 发帖 77 积分 197
帮忙写个判断语句
@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%不成功网络丢包
请帮忙写全...搞拉几个小时写不好判断
第2楼 dikex 发表于 2007-05-12 00:08
高级用户 发帖 366 积分 788
第3楼 bbq123bbq 发表于 2007-05-12 00:20
初级用户 发帖 77 积分 197
可以解释一下
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
的意思吗???只要是%1 和%2
第4楼 bbq123bbq 发表于 2007-05-12 00:30
初级用户 发帖 77 积分 197
可以解释一下
if "%1"=="Average" echo 连接%ip%成功,网络延迟%2 %time:~0,8%
的意思吗???只要是%1 和%2
第5楼 dikex 发表于 2007-05-12 00:32
高级用户 发帖 366 积分 788
打开回显并设置echo等显示变量就可以知道了

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

在批处理里面,","和"="等都可以充当空格的分隔符号作用,所以下面的%1和%2就是代指Average和40ms;
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023