批处理 从文件中读取内容ping多个ip
@echo off
echo %date%>>pinRecord.txt
echo.
for /f %%i in (IP.txt) do (
@rem show ip
echo %%i
ping %%i
@rem show ERRORLEVEL
echo %ERRORLEVEL%
if %ERRORLEVEL%==0 echo ping入成功
if %ERRORLEVEL%==1 echo %%i>>pinRecord.txt
echo.
)
pause
cls
这是我在IP.txt文件中读取ip,格式如下:
192.169.5.13
127.0.0.1
192.169.1.108
192.169.1.112
将ping不通IP存到pinRecord.txt文档中,不知道为什么每次循环ERRORLEVEL的值均是0,请教大家,帮我解决,谢谢!
写得太复好轿燃杂了。。
@echo off
echo %date%>>pinRecord.txt
echo.
for /f %%i in (IP.txt) do (
ping -n 1 %%i >nul && echo %%i ping入成功 || echo %%i ping入失败 && echo %%i>>pinRecord.txt
)
echo.
echo.检友虚查完成.任意键退出帆高并查看pinRecord.txt
pause>nul
start pinrecord.txt
我小改了下,看看是不是一样银拿能实现你需要的目的中败??
@echo off
echo %date%>>pinRecord.txt
echo.
for /f %%i in (IP.txt) do (
@rem show ip
echo %%i
net use \\%%i\ipc$ >卖搏颤nul 2>nul
@rem show ERRORLEVEL
echo %ERRORLEVEL%
if %ERRORLEVEL%==0 echo ping入成功
if %ERRORLEVEL%==1 echo %%i>>pinRecord.txt
echo.
)
pause
cls
给你点提示携掘皮:
这样改才行~
set a=1
for /辩差l %%i in (1,1,10) do (
for /f "tokens=%a%"散哗 %%j in (IP.txt) do (
echo %%j
ping %%j
echo %ERRORLEVEL%
if %ERRORLEVEL%==0 echo ping入成功
if %ERRORLEVEL%==1 echo %%j>>pinRecord.txt
echo.
)
set/a a=a+1
)
这个还真没用过,不过感觉是不管PING不PING得通,命令都是正常执行了吧,所以返回正常值0