用批处理连续ping一个ip段

今天写这个有一个原因,就是我家的网络用了一个无线电力猫做为无线网络扩展,但忘记了无线电力猫的IP,而且我家新路由器也看不到这个电力猫,也可能有一个原因。我原来用的是192.168.1.1的华为路由器,自然我就把这个无线电力猫设置成了192.168.1.X这样的IP,这几天我家换了普联的479路由器,IP段为192.168.0.X,所以在这里面“应该”是无法访问192.168.1.X设备的。但是事无绝对,原来的192.168.1.X的路由器接到这个新路由上以后,是可以正常上网的,只是接在华为路由下面的设备的IP段为192.168.1.X,上网什么的完全不耽误。而且那个电力猫接到这个479路由上以后,接到它下面的设备也可以直接上网,毫不影响,只不过不能登录到无线路由上去。技术真是进步的飞快,之前还属于要学习的技术,现在完全傻瓜式管理,倒是方便了普通用户,PNP当然是大家最需要的。

闲话说完!

其实只要把这个无线电力猫接到旧路由上,看一下应该就可以找得到,而且我之前明确记得华为路由上曾经看到过它,但今天我接到华为路由上以后,居然看不到有线设备。而且那个电力猫被东西挡住了,取不下来,就只能想办法PING它,得到IP后,再登进去,修改IP地址为192.168.0.X段,但是要找到它的IP可不容易。一个个ping?254个IP,可以是够烦的,于是又想起了DOS命令这个老而不衰的家伙,一定可以解决。

上面还是闲话,下面是干货。

DOS命令连续ping一个IP段:

for 命令语法:FOR %variable IN (set) DO command [command-parameters]

实例:for /L %D in (1,1,255) do ping 192.168.0.%D -n 1

解释:

for /L的作用是以增量形式从开始到结束生成一个数字序列。语法格式:

FOR /L %variable IN (start,step,end) DO command [command-parameters]

  • start:创建序列的开始位置;

  • step:创建序列时单步距离;

  • end:创建序列结束位置;

在上面代码中就是从1开始到255,步进为1,挺好理解。

%D为变量,后面的D可以为任何字母单词,但前后要一致,而且大小写敏感,在上例中代表循环的1-255的数字。

for语句中in和do是必须有的,不多说,照抄就行了。

do后面就是要执行的命令,此后为ping一个IP。

-n 1为ping命令参数,表示ping一次。

所以for /L %D in (1,1,255) do ping 192.168.0.%D -n 1运行后如下图:

 其实这样很乱,ping不通的对我来说没用,而且这样也不好看。于是后面加了一个过虑,命令变成这样了:

for /L %D in (1,1,255) do ping 192.168.0.%D -n 1 | find "TTL=">nul && echo 192.168.0.%D通

 ping前面那个“|”是管道符,表示前面的结果作为后面命令的输入(相关|、 ||、 &、 &&用法见:dos命令连接符图文教程,符号&和&&和||组合语句,bat批处理脚本 - 哔哩哔哩

find “TTL=”>nul表示在前面ping的结果里面找“TTL=”,找到结果为1,找不到为0,所以>nul即为找到。 &&表示前面命令执行成功则执行后面的命令,不成功不执行。这样执行后的画面就简单多了:

但还是有很多无用 的干扰信息,所以在执行上面的命令之前用echo off就解决了。

如图:

这样就只剩下我们需要的内容了。但执行完后不要忘记再echo on,不然只有一个光标在那闪,了不知道命令执行完了没。所以上面完全的命令为:

echo off

for /L %D in (1,1,255) do ping 192.168.0.%D -n 1 | find "TTL=">nul && echo 192.168.0.%D OK!

命令执行完成后再:echo on.

如何把上面的命令做成批处理是这样,如下代码,%D前面要加一个%,批处理和DOS命令的变量写法不同,其它一样。

@echo off 
cls

for /L %%D in (1,1,255) do ping 192.168.0.%%D -n 1 | find "TTL=">nul && echo 192.168.0.%%D OK!  

@echo on

如果输入到文件可改成:(DOS命令)

for /L %D in (1,1,255) do ping 192.168.0.%D -n 1 | find "TTL=">nul && echo 192.168.0.%D>>ok.txt

 丰俭由人,自行选择。

注:返回物理地址:

for /L %D in (1,1,255) do ping 192.168.0.%D -n 1 | find "TTL=">nul && echo 192.168.0.%D通  && arp -a 192.168.0.%D

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kim5659

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值