中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 一双绑定IP的批处理 上一主题 | 下一主题
txysz
新手上路





积分 8
发帖 2
注册 2006-9-28
状态 离线
『楼 主』:  一双绑定IP的批处理

@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,没弄明白。

2006-9-29 22:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

其中%%M是变量,代表for语句提取出来的值,以后要用这个值的时候,直接调用%%M就可以了``这一句的意思是:在phyaddr.txt文件中,忽略前两行,提取文件中的第12列内容`然后将变量%%M的值赋给Mac
(上面的批处理能不能提取到MAC地址,这个就不清楚了,我是提取不到的)

2006-9-29 23:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
txysz
新手上路





积分 8
发帖 2
注册 2006-9-28
状态 离线
『第 3 楼』:  谢谢,明白了.

找了些教程,就是没看到关于for 中的%%M什么意思,现在明白了.

2006-10-1 20:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: