用bat脚本实现同时ping多个ip地址把结果返回到一个txt文本内容如果ping通就显示多少毫秒不通显示连接超时
1个回答
展开全部
@echo off & title Ping 检测IP连接 By 依梦琴瑶
cd /d %~dp0
setlocal enabledelayedexpansion
::设置包含IP列表的文件
set List=需检测的IP.txt
::设置结果文件名
set result=Ping结果.txt
if not exist "%List%" (
echo %List% 不存在
pause&exit
)
if exist "%result%" del "%result%"
echo 即将开始 Ping 检测。&ping 0 -n "2">nul
for /f "delims=" %%a in (%List%) do call:PingIt %%a
del P$&cls&title Ping 检测完毕 By 依梦琴瑶&echo 检测完毕,已生成检测日志,按任意键后将为您打开日志记录文件。
pause>nul&start "" "%result%"&exit
:PingIt
set msg=正在对“%1”进行 Ping 检测。。。
cls&title %msg%&echo %msg%
ping %1 -n "1">P$
set "ms="
findstr /c:"TTL=" P$>nul && for /f "tokens=4 delims== " %%a in ('findstr /c:"平均" P$') do set ms=%%a
if defined ms (
set rst=!ms:~,-2! 毫秒
) else (
set rst=连接超时(不通)
)
echo %~1 : %rst%>>"%result%"
goto :eof
曾经给人写了一个类似的,现在根据您的要求稍微修整一下。
追问
怎样添加包含ip的txt文本啊
追答
新建一个txt文本,名字就和脚本中的一样即可,然后里面一行一个ip地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询