中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 05:59
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 一双绑定IP的批处理
可打印版本  1,438 / 2
第1楼 txysz 发表于 2006-09-29 22:43
新手上路 发帖 2 积分 8
一双绑定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,没弄明白。
第2楼 lxmxn 发表于 2006-09-29 23:00
版主 发帖 4,938 积分 11,386
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

其中%%M是变量,代表for语句提取出来的值,以后要用这个值的时候,直接调用%%M就可以了``这一句的意思是:在phyaddr.txt文件中,忽略前两行,提取文件中的第12列内容`然后将变量%%M的值赋给Mac
(上面的批处理能不能提取到MAC地址,这个就不清楚了,我是提取不到的)
第3楼 txysz 发表于 2006-10-01 20:49
新手上路 发帖 2 积分 8
谢谢,明白了.
找了些教程,就是没看到关于for 中的%%M什么意思,现在明白了.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023