批量ping IP地址

来源:百度知道 编辑:UC知道 时间:2024/07/06 19:30:30
个人工作原因,每天需要检测几个固定IP是不是通的,所以就想请高手帮忙做一个批量检测的批处理命令,个人想法是可以针对每个IP命名,比如说:
192.168.0.1是AA
192.168.0.2是BB
196.168.0.3是CC等等,检测完成之后通畅的就不显示了,不通畅的显示一串字符
“需要检测以下网络:AA”
首先感谢几位网友的帮助,在这里先谢过了,我可能有一点没说明白,那就是:几个需要检测的IP不是连续的通网段的
另外我说一下我个人的思路:
1.定义1~n个数值
2.给每个数值定义一个IP
3.给每个数值对应的IP定义一个名称。
这样可以实现数值递增检测,每变换一个数值就调用其对应的IP,通与不通结果输出的是对应数值的名称
比如
set 1=196.168.*.*
set 2=1*.168.*.*
set 3=196.168.*.*
set 4=196.168.*.*
set 5=1*.168.*.*
.
.
.
set n=1*.168.*.*
set 1name=DNS
set 2name=*
set 3name=*
set 4name=*
set 5name=*
.
.
.
set nname=*
然后检测的时候可以从1~n递增检测,ping n对应的IP,通与不通输出nname,我对批处理不太懂,不知道能不能实现.
虽然一位回答的网友提供的软件我已经摸索出来怎么用了,很强大,但是我比较偏爱批处理命令,如果后边网友提供的
批处理命令都不能实现我说 的功能的话那就评第一位网友的答案为最佳答案了,但是如果后边的网友实现了我说的
功能的话那就对不起了,这么多人回答,而且都不错,我也很为难哈...

@echo off
setlocal enabledelayedexpansion
set 192.168.0.1=张三电脑
set 192.168.0.2=李四电脑
set 192.168.0.3=没人使用
::4-254就自己加了。
for /l %%u in (1,1,254) do (ping -n 1 192.168.0.%%u>nul&&call echo !192.168.0.%%u! 正使用中...&&call echo !192.168.0.%%u! 正使用中...>>lock.txt||call echo !192.168.0.%%u! 网络不通...&&call echo !192.168.0.%%u! 网络不通...>>lock.txt)
start lock.txt

IP定意文件格式 "IP.txt">>IP地址 空格 定意名
192.168.0.1 网关
192.168.0.2 DNS
198.120.23.5 网管机
100.100.100.1 机房
......

@echo off
echo 查看中.....
for /f "tokens=1,2" %%a in (ip.txt) do (ping -n 1 %%a>nul&&call echo %%b 开机中...>>lock.txt||call echo %%b 网络不通...>>lock.txt)
start lock.txt

如只要不通的就删除"&&call echo %%b 开机中...>>lock.txt"内容就行了。
@echo off
for /f "tokens=1,2" %%a in (ip.txt) do (ping -n 1 %%a>nul||call echo %%b.....网络不通>>lock.txt