利用批处理从一个配置文件里循环读取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 展开
ping -n 3 %%i |find "Reply from"
if %ERRORLEVEL%==0 echo.%%i %date% %time% 网络通畅!>>%logfile%
if %ERRORLEVEL%==1 echo.%%i %date% %time% 网络不通!>>%logfile%
)
pause 展开
1个回答
展开全部
不知道你说的错误具体是什么,至少描述清楚点才好回答。
不过单看上面的代码,用"Reply from"明显会导致错误,如目标主机无反应也可能返回这字符串,建议用find "TTL="来查找,ttl能兼容高版本的操作系统,像win7显示结果是中文的.
例如:ping -n 2 %%i|find "TTL="&&echo %%i可通||echo %%i不通
不过单看上面的代码,用"Reply from"明显会导致错误,如目标主机无反应也可能返回这字符串,建议用find "TTL="来查找,ttl能兼容高版本的操作系统,像win7显示结果是中文的.
例如:ping -n 2 %%i|find "TTL="&&echo %%i可通||echo %%i不通
更多追问追答
追问
日志里都是显示PING的通,但实际上是没有ping通的
那个find 'Reply from" 不加可以么
追答
就是,你用Reply from来查找,明显不对,上面说了。
XP下可以,不过最好加一下兼容其他操作系统,加了还有屏蔽消息回显的作用,输出窗口看起来没那么乱。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询