批处理如何获得网关的MAC地址
[ Last edited by meiko on 2007-5-29 at 05:45 PM ]
[ Last edited by meiko on 2007-5-29 at 05:45 PM ]
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find "Default Gateway"') do call :MAC %%i
pause
:MAC
if not "%1"=="" for /f "skip=3 tokens=2" %%i in ('arp /a %1') do echo The Mac of Default Gateway %1 Is %%i
goto :EOFOriginally posted by meiko at 2007-5-30 11:00 AM:
这样只能从arp缓存列表中获取网关的MAC地址,如果缓存为空怎么办呢?
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find "Default Gateway"') do call :MAC %%i
pause
:MAC
if not "%1"=="" (
ping %1 /n 1 /w 0 1>nul 2>nul
for /f "skip=3 tokens=2" %%i in ('arp /a %1') do echo The Mac of Default Gateway %1 Is %%i
)
goto :EOF