利用批处理从一个配置文件里循环读取IP地址,然后for循环去ping出现错误

for/f"skip=1"%%iin(%ipaddress%)do(ping-n3%%i|find"Replyfrom"if%ERRORLEVEL%==0echo.%%i... for /f "skip=1" %%i in (%ipaddress%) do (
ping -n 3 %%i |find "Reply from"
if %ERRORLEVEL%==0 echo.%%i %date% %time% 网络通畅!>>%logfile%
if %ERRORLEVEL%==1 echo.%%i %date% %time% 网络不通!>>%logfile%
)

pause
展开
 我来答
xxpinqz
2013-03-14 · TA获得超过1321个赞
知道小有建树答主
回答量:1055
采纳率:0%
帮助的人:1297万
展开全部
不知道你说的错误具体是什么,至少描述清楚点才好回答。
不过单看上面的代码,用"Reply from"明显会导致错误,如目标主机无反应也可能返回这字符串,建议用find "TTL="来查找,ttl能兼容高版本的操作系统,像win7显示结果是中文的.
例如:ping -n 2 %%i|find "TTL="&&echo %%i可通||echo %%i不通
更多追问追答
追问
日志里都是显示PING的通,但实际上是没有ping通的
那个find 'Reply from" 不加可以么
追答
就是,你用Reply from来查找,明显不对,上面说了。
XP下可以,不过最好加一下兼容其他操作系统,加了还有屏蔽消息回显的作用,输出窗口看起来没那么乱。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式