Board logo

标题: [文本处理] 批处理如何提取arp命令结果中指定的IP地址? [打印本页]

作者: lenlydia    时间: 2019-3-20 08:47     标题: 批处理如何提取arp命令结果中指定的IP地址?

使用arp -a>>D:\arp.txt后
arp.txt的文本内容如下:

接口: 192.168.1.88 --- 0xc
  Internet 地址         物理地址              类型
  192.168.1.1          34-23-ok-50-a8-30     动态        
  192.168.1.23         08-11-96-88-d3-84     动态               
  192.168.1.255        ff-ff-ff-ff-ff-ff     静态        
      

接口: 172.17.167.203 --- 0xd
  Internet 地址         物理地址              类型
  172.17.167.96            00-16-as-ds-we-88     动态   

我需要提取172.17.167.96这个ip地址
备注:
一.这个ip地址不是固定的,但前面的172是不变的.且只有一个(接口:172.17.167.203这一行不需要)
二.arp.txt文本里面的内容和行数是每次命令都会有变化的
三.接口: 172.17.167.203 --- 0xd   这一行是不需要的.

好久没写批处理了.不知道怎么提取了.求大神帮忙处理下.谢谢
作者: lenlydia    时间: 2019-3-20 10:49

echo off
del newip.txt
del shareip.txt
del arp.txt
ping 127.0.0.1
arp -a>>arp.txt

for /f "tokens=1 delims== " %%a in (arp.txt) do echo %%a>>newip.txt

for /f "tokens=1-4 delims==." %%a in (newip.txt) do (if %%a equ 172 echo %%a.%%b.%%c.%%d,>>shareip.txt&&goto open else goto :end)

pen
for /f "tokens=1 delims==," %%a in (shareip.txt) do explorer \\%%a
ping 127.0.0.1
exit



:end
exit
作者: lenlydia    时间: 2019-3-20 10:49

已经自己解决.就是看着繁琐了些.
作者: zaqmlp    时间: 2019-3-20 12:33

arp -a|findstr /rc:"^  *172\."




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