
[分享]多種方法局域網查詢IPMAC的批處理最后由 mxxcgzxxx 于 -2-13 00:10前一部分按工作組查詢方法是老貼中有的,但部分電腦會無法顯示出來。所以增補了按網卡所在IP進行查找和自定義跨子網查找的方法。有了MAC地址就可以很方便的配合軟件進行遠程關機、開機和其他操作。希望能對新手有所幫助,老鳥就飛過去吧呵
nclick="copycode($('code0'));">復制代碼
- @echooff
- cls
- for /l %%1 in (1,1,3) do echo.
- echo.特別提示
- echo.
- echo. 本軟件將會把網內同一域的計算機分布情況顯示出來,
- echo. 并將信息保存于桌面網內IP分布情況.txt文檔內,以便查詢!
- echo.
- echo. 如果無法找到相關信息有以下幾種可能:
- echo. 1、您的計算機沒有設置網關等信息無法進行局域網絡共享!
- echo. 2、您所要查找的計算機未開機或未進入WINDOWS系統!
- echo. 3、您所要查找的計算機與您的計算機不在一個網域下!
- echo. 4、您的計算機未接入網絡,請查看網絡連接情況!
- for /l %%1 in (1,1,3) do echo.
- pause
- setlocal ENABLEDELAYEDEXPANSION
- ::文檔存放位置在這修改
- set wd=D:網內IP分布情況.txt
- echo. 網絡在線IP及計算機名分布情況>%wd%
- :x
- cls
- set /p p=^
- ^
- [1]按工作組查詢網絡^
- ^
- [2]按IP網段查詢網絡^
- ^
- [3]自定義IP網段查詢^
- ^
- 請選擇:
- if %p%==1 goto :1
- if %p%==2 goto :2
- if %p%==3 goto :3
- goto :x
- :1
- cls
- FOR /F delims=, %%a 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.>>%wd%
- echo.=======工作組:%%a========>>%wd%
- echo. IP地址MAC地址計算機名>>%wd%
- echo.>>%wd%
- echo.=======工作組:%%a========
- echo. IP地址MAC地址計算機名
- FOR /F eol=; delims=, %%a in ('net view /domain:%%a ^|findstr ')DO (
- FOR /F eol=; tokens=1,2,3* delims= %%1 in ('echo %%a') do (
- set m=
- set ip=
- set id=
- FOR /F tokens=1,2,3,4*delims=:[] %%a IN ('ping -a -n 1 -w 100 %%1 ^|findstr Pinging') do (
- set m=%%b
- set ip=%%c
- set mac=
- for /f tokens=1,2,3 delims== %%a in ('nbtstat -a !ip!') do if %%a==MAC set id=%%c
- call :11 !ip! !id! !m!
- )
- )
- )
- )
- pause
- goto :eof
- :11
- echo.%1%2%3>>%wd%
- echo.%1%2%3
- goto :eof
- :2
- cls
- echo.查詢網絡連接情況中請稍候……
- set n=1
- for /f tokens=1,2,3,4,5 delims=:.=[] %%1 in ('nbtstat -a 0') do (
- if %%1==本地連接 set lj!n!=%%1
- if %%1==無線網絡連接 set lj!n!=%%1
- if %%1==Node set ip!n!=%%3.%%4.%%5. & set /a n+=1
- )
- echo.
- set /a n-=1
- for /l %%a in (1,1,%n%) do echo.[%%a]!lj%%a!!ip%%a!
- echo.
- set p=
- set /p p=請選擇您需要查詢的IP段:
- set ipd=!ip%p%!
- goto :4
- :3
- set ipd=
- set /p ipd=輸入您要查詢的IP段(xxx.xxx.xxx.):
- :4
- set /a n=1,end=254
- echo.
- set /p n=您需要查詢的起始IP為%ipd%
- echo.
- set /p end=您需要查詢的終止IP為%ipd%
- echo.
- echo.=======IP%ipd%段========>>%wd%
- echo. IP地址MAC地址計算機名工作組>>%wd%
- echo.>>%wd%
- echo. IP地址MAC地址計算機名工作組
- :5
- set ip=%ipd%%n%
- set m=
- set id=
- set g=
- for /f %%a in ('ping -n 1 %ip% ^|findstr Reply') do (
- for /f tokens=1,2,3 delims== %%1 in ('nbtstat -a !ip!') do (
- if %%1==MAC set id=%%3
- if %%2==<00> if %%3==UNIQUE set m=%%1
- if %%2==<00> if %%3==GROUP set g=%%1
- )
- )
- echo.%ip%%id%%m%%g%>>%wd%
- echo.%ip%%id%%m%%g%
- echo.
- set /a n+=1
- if %n% gtr %end% echo.查詢情況已被保存在%wd%中 & pause &goto :eof
- goto :5

