Board logo

标题: [网络连接] 批处理for循环中ping多个ip如何记录不通的? [打印本页]

作者: ydwadam    时间: 2009-5-30 12:35     标题: 批处理for循环中ping多个ip如何记录不通的?

@echo off
for /f  %%i in (IP.txt) do (
@rem show ip
echo %%i
ping %%i
if %errorlevel% equ 0 (
echo 可以PING得通
) else (
echo PING不通
echo %%i>>pinRecord.txt
)
echo.
)
pause

IP.txt 内容和格式如下:
127.0.0.1
192.169.5.13
127.0.0.1
192.169.1.108
192.169.1.112

问题:为什么每次循环,无论ping通ping不通errorlevel值全是0?通了应该是1的!!!
作者: yslyxqysl    时间: 2009-5-30 13:42

用&& ||吧
ping %%i && echo 通 || echo 不通
作者: ydwadam    时间: 2009-6-1 09:26     标题: 回复 2楼 的帖子

已解决,谢谢!!!!
作者: ydwadam    时间: 2009-6-1 09:35     标题: 批处理使用for循环telnet多个ip的某个端口号,记录开着的ip

@echo off
for /f "tokens=*" %%i in (ip.txt) do (
echo %%i
echo.>ipinfo.txt
echo %%i>ipinfo.txt
call 1.bat
)

1.bat文件内容:
@echo off
set /p tempip=<ipinfo.txt
echo %tempip%
telnet %tempip% 1433
if %ERRORLEVEL%==0 (echo tempip>>iplog.txt) else(echo 不通)
echo.

IP.txt 内容和格式如下:
127.0.0.1
192.169.5.13
127.0.0.1
192.169.1.108
192.169.1.112
问题:为什么telnet第一个时候窗口关掉了?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2