![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 03:35 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理如何获得本机的IP和MAC地址然后进行绑定? |
| 可打印版本 11,339 / 31 |
| 第1楼 wzswzsh | 发表于 2006-08-07 13:32 |
| 新手上路 发帖 2 积分 12 | |
|
批处理如何获得本机的IP和MAC地址然后进行绑定? 批处理如何获得本机的IP和MAC地址然后进行绑定?
我想做一个批处理 让机器在开机的时候自动获得IP和MAC 然后进行arp静态绑定 请教高手,要如何处理 |
|
| 第2楼 iaide007 | 发表于 2006-09-10 17:41 |
| 初级用户 发帖 12 积分 36 | |
|
@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 |
|
| 第3楼 namejm | 发表于 2006-09-10 20:02 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
来个不生成临时文件的更简洁的代码:
|
|
| 第4楼 iaide007 | 发表于 2006-09-10 22:35 |
| 初级用户 发帖 12 积分 36 | |
|
哈哈
namejm 写的,都是绿色产品哦, |
|
| 第5楼 vkill | 发表于 2006-09-11 00:33 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
不生成临时文件的我怎么弄都不合适,再学学
|
|
| 第6楼 kennyfan | 发表于 2006-09-18 22:11 |
| 中级用户 发帖 112 积分 259 | |
|
终于搞明白namejm 写的好东西 的确有用!~
我这里经常有用户发送arp欺骗包.上不了网.烦都烦死!~ |
|
| 第7楼 9527 | 发表于 2006-09-18 22:51 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
@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% 我只追求简单与完美............. |
|
| 第8楼 pengfei | 发表于 2006-09-19 01:47 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
我对网卡绑定不太了解, 不过楼上几位的代码都有问题...
ipconfig /all有两个ip和两个mac地址. 不知楼主绑定的ip是内网ip还是外网呢? |
|
| 第9楼 pengfei | 发表于 2006-09-19 02:40 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
@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 |
|
| 第10楼 namejm | 发表于 2006-09-19 06:01 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by pip at 2006-9-18 22:51: 呵呵,确实够简洁。 c:"str" 连用实现了只用一个变量提取同一列中的两行内容,然后用sort来对结果排序,使得变量内容顺序符合arp的要求,确实巧妙。 |
|
| 第11楼 xg911335 | 发表于 2006-09-19 06:41 |
| 初级用户 发帖 50 积分 134 | |
|
如果还要帮定其他IP呢?比如网关?
|
|
| 第12楼 kcdsw | 发表于 2006-09-19 08:05 |
| 中级用户 发帖 179 积分 404 | |
|
有了pip 和 namejm 我就不出来现了~!
对pip代码还有些恐惧!! 研究一下! |
|
| 第13楼 pengfei | 发表于 2006-09-19 09:04 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
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地址. |
|
| 第14楼 namejm | 发表于 2006-09-19 11:48 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
看来对于有内网IP和外网IP的机子来说,应该慎用以上代码。『第 9 楼』pengfei的代码更具有通用性。
|
|
| 第15楼 sea2moon | 发表于 2006-09-29 05:10 |
| 初级用户 发帖 23 积分 47 | |
|
我试的PIP的好象不行。。
另外问下:arp -s %ip:~1% %Mac:~1% 中的。。 ~1% 是怎么一回事?不太明白 |
|
| 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |