本帖最后由 ygqiang 于 2015-7-16 20:59 编辑
[已解决]批处理检测在线ip和计算机名。。并对比txt文件(计算机名和ip)列表。。
xp环境下的局域网,获取在线IP和对应的计算机名,对比,保存在txt文件里的ip、计算机名是否一致。。
下面这个bat代码,可以实现:
按照规则,ping某个ip。。ping通的话,获取到ip对应的计算机名。(ping不通,就继续ping下一个ip)
。。然后按照计算机名-ip的格式,保存到txt文件里。。。
我需要的功能是:
按照规则,先ping某个ip,如果ping通。。。就获取对应的计算机名a(ping不通,就继续ping下一个ip)
1、如果ip不在txt文件里面,就保存在新的txt文件里(格式是计算机名a-ip)
2、如果ip在txt文件里,就继续获取txt文件里ip对应的计算机名b。
2.1、计算机名也一致(a和b一样),就继续ping下一个ip
2.2、计算机名不一致(a和b不一样),也是保存在新的txt文件里(格式也是计算机名a-ip)
需要修改的bat代码如下:- @echo off
- setlocal enabledelayedexpansion
- set "aa= "
-
-
-
-
- ———————————————————————————————————————————————————————————————
- cls
- for /f "tokens=15 delims= " %%i in ('ipconfig ^| find /i "IP Address"') do (
- set fsip=%%i
- )
- echo %fsip%
-
- for /f "tokens=1,2,3 delims=." %%i in ("%fsip%") do (
- set a=%%i.%%j.%%k
- )
-
- echo %a%
-
- set Gateway=%a%.1
-
- ———————————————————————————————————————————————————————————————
- cls
-
- del /f /q 在线计算机名-ip.txt >nul 2>nul
-
- for /l %%m in (2,1,100) do (
- ping.exe %a%.%%m -n 1 -w 300 >nul&&Call :getname %a%.%%m
- )
-
-
- ———————————————————————————————————————————————————————————————
- cls
-
- start "" "在线计算机名-ip.txt"
- exit
-
-
-
-
- ———————————————————————————————————————————————————————————————
- cls
-
- :getname
- set iip=%1
- set nname=
- for /f "delims=" %%i in ('nbtstat -a !iip! ^| find /i "<00> UNIQUE"') do (
- echo %%i
- set tii=%%i
- for /f "tokens=1 delims=< " %%j in ("!tii!") do echo %%j!aa!!iip!>>在线计算机名-ip.txt
- goto :aa
- )
- for /f "delims=" %%j in ('nbtstat -a !iip! ^| find /i "Host not found"') do (
- echo %%j
- echo !iip!>>在线计算机名-ip.txt
- )
- :aa
复制代码 txt文件列表格式如下:- CB1 192.168.8.11
- CB2 192.168.8.12
- CB3 192.168.8.13
- CB4 192.168.8.14
- CB5 192.168.8.15
- CB6 192.168.8.16
- CB7 192.168.8.17
- CB8 192.168.8.7
- CB9 192.168.8.19
- CB10 192.168.8.20
- CB11 192.168.8.21
- CB12 192.168.8.22
- CB13 192.168.8.23
-
-
-
-
-
- ZWDD 192.168.8.33
- ZWJH1 192.168.8.31
- ZWJH2 192.168.8.32
-
- CBSbg1 192.168.8.38
- NYJH 192.168.8.40
- NYDD 192.168.8.42
-
-
-
- SKTSYLS 192.168.8.36
-
- gjsyls 192.168.8.35
-
- YSJH 192.168.8.41
- YSDD 192.168.8.39
-
- YB 192.168.8.37
- ZLCBS2 192.168.8.56
- zhs 192.168.8.43
- zhs1 192.168.8.44
-
-
-
-
- BZDD 192.168.8.77
复制代码
|