批处理中怎么样使用FOR命令输出本机以及网关的ip和MAC地址

ipconfig/all>ipconfig.txtfind"PhysicalAddress"ipconfig.txt>phyaddr.txtfor/f"skip=2tok... ipconfig /all >ipconfig.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=15" %%M in (phyaddr.txt) do set Mac=%%M
echo MAC:%MAC%
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=12" %%I in (IPAddr.txt) do set IP=%%I
echo IP:%GateIP%
-----------------------------------------------------------
总是输出不了正确的ip和MAC地址,求大神帮忙!!
展开
 我来答
xq1850
2012-06-29 · TA获得超过3790个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1570万
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1-2 delims=:" %%a in ('"ipconfig/all|findstr "Default Address"|findstr/v "No""') do (
set /a no=no+1
if !no! equ 1 (echo 网卡是:%%b) else if !no! equ 2 (echo 本机IP地址:%%b) else echo 网关IP: %%b
pause
)
追问
自己摆置一天了,实在是没戏,你的这个我还得慢慢研究学习下
帮忙用NETSH命令编个双向绑定网关和本机的批处理文件,弄个好用的分就给你了,十分感谢!
追答
你这属于另一个问题了。这年头挣点儿分真不容易
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1-2 delims=:" %%a in ('"ipconfig/all|findstr "Default Address"|findstr/v "No""') do (
set /a no=no+1
if !no! equ 1 (echo 网卡是:%%b&set mymac=%%b) else if !no! equ 2 (echo 本机IP地址:%%b&set myip=%%b) else echo 网关IP: %%b&ping %%b -n 1>nul&set gateip=%%b
)
for /f "tokens=1-2 delims= " %%j in ('"arp -a|findstr "%gateip%""') do set gatemac=%%k
arp -d *
arp -s %myip% %mymac%
arp -s %gateip% %gatemac%
力控科技
2024-08-19 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中... 点击进入详情页
本回答由力控科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式