中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理如何获得本机的IP和MAC地址然后进行绑定?
« [1] [2] [3] »
作者:
标题: 批处理如何获得本机的IP和MAC地址然后进行绑定? 上一主题 | 下一主题
wzswzsh
新手上路





积分 12
发帖 2
注册 2006-8-7
状态 离线
『楼 主』:  批处理如何获得本机的IP和MAC地址然后进行绑定?

批处理如何获得本机的IP和MAC地址然后进行绑定?

我想做一个批处理
让机器在开机的时候自动获得IP和MAC
然后进行arp静态绑定
请教高手,要如何处理

2006-8-7 13:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iaide007
初级用户




积分 36
发帖 12
注册 2006-9-8
状态 离线
『第 2 楼』:  

@echo off
:::::::::读取本机Mac地址
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 ip=%%M
:::::::::读取本机ip地址
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 mac=%%I
:::::::::绑定本机IP地址和MAC地址
arp -s %IP% %Mac%
del *.txt
exit



QQ群名称:◥◣批处理时代◢◤
QQ群号码:6702314
2006-9-10 17:41
查看资料  发送邮件  发短消息 网志  OICQ (251699530)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 3 楼』:  

  来个不生成临时文件的更简洁的代码:
@echo off
for /f "tokens=1* delims=:" %%i in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%j
for /f "tokens=1* delims=:" %%i in ('ipconfig /all^|find /i "IP Address"') do set ip=%%j
arp -s %ip:~1% %Mac:~1%




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-10 20:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
iaide007
初级用户




积分 36
发帖 12
注册 2006-9-8
状态 离线
『第 4 楼』:  

哈哈
namejm 写的,都是绿色产品哦,



QQ群名称:◥◣批处理时代◢◤
QQ群号码:6702314
2006-9-10 22:35
查看资料  发送邮件  发短消息 网志  OICQ (251699530)  编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 5 楼』:  

不生成临时文件的我怎么弄都不合适,再学学

2006-9-11 00:33
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
kennyfan
中级用户




积分 259
发帖 112
注册 2006-9-18
状态 离线
『第 6 楼』:  

终于搞明白namejm 写的好东西 的确有用!~
我这里经常有用户发送arp欺骗包.上不了网.烦都烦死!~

2006-9-18 22:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 7 楼』:  

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%a in ('ipconfig/all^|findstr /i /c:"IP Address" /c:"Physical Address"^|sort') do set bb=!bb!%%b
arp -s%bb%

我只追求简单与完美.............



我今后在论坛的目标就是做个超级坏人!!!
2006-9-18 22:51
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 8 楼』:  

我对网卡绑定不太了解, 不过楼上几位的代码都有问题...
ipconfig /all有两个ip和两个mac地址. 不知楼主绑定的ip是内网ip还是外网呢?



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-19 01:47
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 9 楼』:  

@echo off
setlocal enabledelayedexpansion
set ipfilter=0
set macfilter=0
for /f "tokens=2* delims=:" %%a in ('ipconfig /all ^| find "IP Address"') do (
    for /f "tokens=2* delims=:" %%i in ('ipconfig /all ^| find "Physical Address"') do (
        set iptemp=%%a
        set mactemp=%%i
        if "!ipfilter!"=="0" set ip=!iptemp:~1!
        if "!macfilter!"=="0" set mac=!mactemp:~1!
        set /a ipfilter=!ipfilter!+1
        set /a macfilter=!macfilter!+1
    )
)
arp -s %ip% %mac%

可以指定绑定网卡为内网或外网.
这段代码为绑定内网IP
if "!ipfilter!"=="0" set ip=!iptemp:~1!
把上面一句改为
if "!ipfilter!"=="2" set ip=!iptemp:~1!
则绑定外网ip



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-19 02:40
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by pip at 2006-9-18 22:51:
for /f "tokens=1* delims=:" %%a in ('ipconfig/all^|findstr /i /c:"IP Address" /c:"Physical Address"^|sort') do set bb=!bb!%%b
arp -s%bb%

  呵呵,确实够简洁。

  c:"str" 连用实现了只用一个变量提取同一列中的两行内容,然后用sort来对结果排序,使得变量内容顺序符合arp的要求,确实巧妙。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-19 06:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xg911335
初级用户





积分 134
发帖 50
注册 2006-3-28
状态 离线
『第 11 楼』:  

如果还要帮定其他IP呢?比如网关?

2006-9-19 06:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kcdsw
中级用户





积分 404
发帖 179
注册 2006-3-30
状态 离线
『第 12 楼』:  

有了pip 和 namejm  我就不出来现了~!

对pip代码还有些恐惧!!  

研究一下!

2006-9-19 08:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 13 楼』:  

pip  namejm修改的代码好强, 正在学习中... 呵呵~
PIP的代码提取到的值为:  
192.168.0.1 58.46.5.202 00-14-2A-AC-FD-4E 00-53-45-00-00-00
不知是否符合arp 命令的用法.
楼主说, 还要绑定网关, 请说明一下, 需要绑定哪些IP, 以及哪个IP绑定哪个MAC地址.



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-19 09:04
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 14 楼』:  

  看来对于有内网IP和外网IP的机子来说,应该慎用以上代码。『第 9 楼』pengfei的代码更具有通用性。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-19 11:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sea2moon
初级用户





积分 47
发帖 23
注册 2006-9-27
状态 离线
『第 15 楼』:  

我试的PIP的好象不行。。
另外问下:arp -s %ip:~1% %Mac:~1%
中的。。   ~1%   是怎么一回事?不太明白

2006-9-29 05:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: