[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 批处理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的!!!

批处理使用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第一个时候窗口关掉了?

TOP

回复 2楼 的帖子

已解决,谢谢!!!!

TOP

用&& ||吧
ping %%i && echo 通 || echo 不通

TOP

返回列表