|
楼主 |
发表于 2011-7-7 17:33
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
追加思路
下列批处理可以做到,能否利用到VBA中呢?- ::原理介绍:先通过net view命令获取局域网的所有计算机
- ::(无法查询没有安装netbios协议的计算机);再ping这些计算机(ping不通也没关系)
- ::然后查arp缓存。
- ::code by youxi01@bbs.bathome.net 2008-1-7
- @echo off &setlocal enabledelayedexpansion
- title 局域网空闲IP查询@bbs.bathome.net
- Rem '/*========获取本机的IP地址(局域网)=========*/
- echo 正在获取本机的IP地址,请稍等...
- for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do (
- set "IP_addr=%%i"
- set IP_addr=!IP_addr:~1,-1!
- echo 本机IP为:!IP_addr!
- goto :next
- )
- :next
- for /f "delims=. tokens=1,2,3,4" %%i in ("%IP_addr%") do set IP_fd=%%i.%%j.%%k
- Rem '/*========获取计算机名============*/
- echo.&echo 正在获取局域网内计算机名,请稍等...
- echo 处于网段 %IP_fd%.* 的计算机有:&echo.
- for /f "delims=" %%i in ('net view') do (
- set "var=%%i"
- rem ----------获取计算机名称------------
- if "!var:~0,2!"=="\" (
- set "var=!var:~2!"
- echo !var!
- Rem ----------ping计算机名--------------
- ping -n 1 !var!>nul
- )
- )
- echo.&echo -----------------------------
- Rem '/*========提取arp缓存=========*/
- echo.&echo 正在获取局域网内计算机IP,请稍等...& echo.
- for /f "skip=3 tokens=1,* delims= " %%i in ('arp -a') do echo IP: %%i 已经使用
- echo.&echo -----------------------------
- echo 程序完成,谢谢使用!
- pause>nul
复制代码 下面代码也能实现- @echo off
- @echo 中小网络在线IP分布情况>1.txt
- setlocal ENABLEDELAYEDEXPANSION
- @FOR /F "usebackq delims=, " %%J IN (`net view /domain ^|find "命令執行成功" /v ^|find "The command completed successfully." /v ^|find "命令成功完成" /v ^|find "--" /v ^|find "Domain" /v ^|find "" /v ^|find "コマンドは正常に終了しました" /v /i`) do (
- @echo =====domain:%%J========>>1.txt
- @echo =====domain:%%J========
- @FOR /F "usebackq eol=; delims=, " %%i in (`net view /domain:%%J ^|findstr "\"`) DO (
- @FOR /F "usebackq eol=; tokens=1,2,3* delims=\" %%a in (`echo %%i`) do (
- @FOR /F "tokens=1,2,3,4* usebackq delims=: " %%K IN (`@ping -a -n 1 -w 100 %%a ^|findstr "Pinging"`) do (
- @echo \\%%L %%M>>1.txt
- @echo \\%%L %%M
- )
- )
- )
- )
- echo %0
- pause "按任意键退出"
复制代码 我记得论坛上有人能把DOS命令的结果取出放到VBA中
注:以上代码来自批处理之家
[ 本帖最后由 ming668 于 2011-7-7 17:36 编辑 ] |
|