|
楼主 |
发表于 2011-7-12 10:02
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
原帖由 灰袍法师 于 2011-7-11 19:54 发表
MAC地址可以
for 局域网所有地址 ping 地址 -n 1 -w 1
然后用 arp -a
但是不知道如何把这些ip和计算机名称联系起来
法师,附件还要加上下面代码方可成功- ChDir ThisWorkbook.Path '强制改变默认的工作目录
复制代码 要获取MAC、IP 、计算机名都可以,把批处理改成下面代码就可以- @echo off&title 扫描MAC,IP,计算机名&color a&mode con: cols=60 lines=22
- setlocal enabledelayedexpansion
- set ipq=192.168.2
- set /a ip1=1
- set /a ip2=255
- set /a con=0
- set /a contotal=%ip2%-%ip1%+1
-
- ::echo MAC IP 计算机名 >netnames.txt
-
- for /l %%i in (!ip1!,1,!ip2!) do (
- set ip=!ipq!.%%i
- echo 扫描!ip!
- ping !ip! -n 1 -w 1 >nul
- if !errorlevel! equ 0 (
- for /f "tokens=1" %%j in ('nbtstat -a !ip! ^| find /i "UNIQUE" ^| find /i "00"') do set pcname=%%j
- for /f "tokens=4 delims=* " %%j in ('nbtstat -a !ip! ^| find /i "MAC Address"') do set mac=%%j
- echo !mac:~0,-1! !ip! !pcname! >>netnames.txt
- set /a con=!con!+1
- )
- )
复制代码 网上抄来的,我试验了成功,请参考。
还想请教一下:
1、我只想要得到计算机名,不要网络解释名,批处理要怎么改?
2、我最终的目的是要在一个下拉框里可以选择计算机名,然后进行连接数据库,上述的计算机名可否直接赋给一个下拉框?
3、现在这种方法效率太低,能否还有更好的方法,只要达到上述最终目的,不管是DLL还是其他方法都行,看过法师的帖子,知道法师不仅仅是VBA很历害的。
[ 本帖最后由 ming668 于 2011-7-12 10:13 编辑 ] |
|