中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 04:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一双绑定IP的批处理 查看 1,437 回复 2
楼 主 一双绑定IP的批处理 发表于 2006-09-29 22:43 ·  中国 广东 深圳 南山区 电信
新手上路
积分 8
发帖 2
注册 2006-09-28 02:05
19年会员
UID 63860
性别 男
状态 离线
@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
这一句不理解,skip=2 tokens=12 %%m in (phyaddr.txt) do set Mac=%%M
什么意思?
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
arp -s %IP% %Mac%
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G
if exist GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
for /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H
arp -s 192.168.0.1 00-05-5d-a1-c2-76
exit


可有高手讲解下是何意,特别是那句%%M,没弄明白。
2 发表于 2006-09-29 23:00 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

其中%%M是变量,代表for语句提取出来的值,以后要用这个值的时候,直接调用%%M就可以了``这一句的意思是:在phyaddr.txt文件中,忽略前两行,提取文件中的第12列内容`然后将变量%%M的值赋给Mac
(上面的批处理能不能提取到MAC地址,这个就不清楚了,我是提取不到的)
3 谢谢,明白了. 发表于 2006-10-01 20:49 ·  中国 广东 深圳 南山区 电信
新手上路
积分 8
发帖 2
注册 2006-09-28 02:05
19年会员
UID 63860
性别 男
状态 离线
找了些教程,就是没看到关于for 中的%%M什么意思,现在明白了.
论坛跳转: