发布网友 发布时间:2022-04-23 19:51
共1个回答
热心网友 时间:2023-07-04 06:44
不明白你想干嘛。
看你代码,提取IP前三节。然后PING 1-255 。
你是想提取,PING通的吗?
不过代码有误。find 错误的。追问可以ping通,bat文件同一目录建立一个IP.txt,但是只能取第一行。或者如何将Type ip.txt | find /c "." 返回的IP.txt 的行数输入个一个变量? 这样我好控制循环。
追答猜测你的想法:
1.ip.txt里面有N个IP(
192.168.0.1
192.168.1.1
192.168.2.1
....)
2.通过提取192.168.0.来代入for 去PING这个网段的1-255所有IP.
然后提取ping出来个带ttl的IP(也就是提取可以PING通的。)
是这样吗?
、、、
如果是的话,你这个代码会很慢,就单ping 192.168.1. 1-255就要好久。
给你个代码吧,你看下是不是这样。
以下设定的IP步长是1-6 判断条件是DATA也就是不管是否通都会显示。
开你应该懂点,你自己修改
@echo off
for /f "delims=. tokens=1-3" %%a in (ip.txt) do (
for /l %%l in (1,1,6) do (
for /f "delims=" %%i in ('ping %%a.%%b.%%c.%%l /n 1') do (
echo "%%i"|find /i "data"
)
)
)
echo end...
pause
不过这样有点慢。。。
以前无聊的时候写过一个类似的,下载连接发到你私信了。自己看下吧。