批处理 扫描局域网内的活动IP地址,并输出到一个TXT中

目的是监测局域网内的开关机情况。

邮箱darrick2010 @ 163.com

写个批处理myping.bat。
如果是C类地址:
@echo off
@set mymask=192.168.1
@echo -----------Start: %date% # %time%-------------- > c:\ping.log
@for /l %%i in (1,1,254) do @ping -n %mymask%.%%i|find "TTL=" >> c:\ping.log

@echo -----------End: %date% # %time%-------------- > c:\ping.log
如果是B类地址:
@echo off
@set mymask=172.26.
@echo -----------Start: %date% # %time%-------------- > c:\ping.log
@for /l %%i in (1,1,254) do (
@for /l %%j in (1,1,254) do @ping -n %mymask%.%%i.%%j|find "TTL=" >> c:\ping.log
)
@echo -----------End: %date% # %time%-------------- > c:\ping.log
其中,mymask后面的值要换成您的网络地址。
然后,将批处理添加到计划任务中就行了,如果是B类网络,给计划任务预留的默认退出时间最好长一点。追问

能不能再高效一点?我们的网络没有这么小的。从12.22.17.1到12.22.26.255.难道要执行9次?

追答

Windows默认的ping用的是ICMP8号协议,一定要发送内容,所以就这么慢。

如果您想快,在网上找命令行式的ping工具,推荐您一个:pingall.exe(从东坡下载找到的)。

再在pingall.exe的同文件夹下,写如下的myping.bat批处理:

@echo off
@set mymask=12.22
@echo -----------Start: %date% # %time%-------------- > c:\ping.log
@for /l %%i in (17,1,26) do @pingall %mymask%.%%i.1 255 500 >c:\ping.log

@echo -----------End: %date% # %time%-------------- > c:\ping.log

然后,将批处理添加到计划任务中就行了,您再试试?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-17

恩。现在需要转换IP来操作

去下个IP软件。。九~州IP。。就可以了

直接在官网下的哟。

多IP地区

第2个回答  2013-08-15
下载一个Cain的软件,或者一个小软件nbtscan
你在百度上搜索一下吧。很方便地就能查出在线的电脑以及它们的IP,MAC,主机名等信息。追问

我要的是晚上12点自动运行这种程序。。。

我要的是晚上12点自动运行这种程序。。。

追答

你编一个自动批处理嘛。然后电脑自动在晚上12点钟运行。
比如,你下载一下nbtscan的软件。如果没下载到,给我个消息,我发到你的邮箱里。批处理:
1。 开始--运行--CMD
2。 在命令行输入CD\
3。 将nbtscan.exe拷入C盘根目录下。
4。编写一个重定向到TXT的批处理,如下:

copy con jk.bat
nbtscan -r 192.192.10.0/24 >> 111.txt 注意,网段根据你公司实际的网络地址填入
Ctrl+z

在WINDOWS计划任务里添加jk.bat,每晚0:00分执行该程序即可。

相似回答