中国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地址然后进行绑定? 上一主题 | 下一主题
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 16 楼』:  

呵呵,被 namejm 感染,现在也开始有“不生成临时文件”的偏好了。 ^_^

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




积分 1246
发帖 488
注册 2003-11-11
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by iaide007 at 2006-9-10 05:41 PM:
@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.t ...

气愤删了我的TXT文件!!!!!!!!!!

2006-9-29 11:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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



  Quote:
Originally posted by wang6610 at 2006-9-29 11:54:


气愤删了我的TXT文件!!!!!!!!!!

  哎呀,那个代码里有一句令人闻风丧胆的语句,还是屏蔽了吧:del *.txt。这个东西有点危险哦。对你的遭遇表示同情。

  以后还是对del和rd之类的语句小心为妙,建议各位在写类似语句的时候,尽量用echo语句来演示,让别人觉得满意了再修改不迟,尽量在显眼的地方加入警示语,以免别人测试的时候遭受不必要的损失。



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





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



  Quote:
Originally posted by pengfei at 2006-9-19 02:40:
@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 "tok ...

pengfei兄的这段代码看的不是很懂,尤其是有两个DO的那个地方
能否给小弟解释下?

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




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

建议for /? 其实就是for语句的用法, 没什么.

ipconfig /all如果是宽带用户, 会显示两个ip两个mac地址, 以及两个网关.

用计数的方式实现了提取不同的IP和MAC以及网关. 如果不用这种计数方式提取指定几个数据, 就不好绑定网卡了.

2006-9-30 02:16
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
sea2moon
初级用户





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

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
    )

)
主要是这个地方不懂,有两个DO,我就蒙了,一个的我能理解
DO后面我只知道用的是commond (/...)

[ Last edited by sea2moon on 2006-9-30 at 02:23 ]

2006-9-30 02:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




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



  Quote:
Originally posted by sea2moon at 2006-9-30 02:20:
for /f "tokens=2* delims=:" %%a in ('ipconfig /all ^| find "IP Address"') do (
    for /f "tokens=2* delims=:" %%i in ('ipconfig /all ^| find "Physic ...

这是一个FOR语句嵌套的问题!

2006-9-30 02:24
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
sea2moon
初级用户





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

if "!ipfilter!"=="0" set ip=!iptemp:~1!
        if "!macfilter!"=="0" set mac=!mactemp:~1!
        set /a ipfilter=!ipfilter!+1
        set /a macfilter=!macfilter!+1
还有,这里也不太懂,不好意思啊。我初学没几天。。。
问题比较多,其中  if "!ipfilter!"=="0"变量ipfilter从设定一直为0,我改成
@echo off
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
        set ip=!iptemp:~1!
        set mac=!mactemp:~1!
    )
)
arp -s %ip% %mac%
也是可以的。我试了下(我只是内网)
不过,set /a ipfilter=!ipfilter!+1变量是不是在数值上+1,是什么意思,我在想,ipfilter这个变量最后在ARP上用到了没有?
谢谢peng兄的细心回复

[ Last edited by sea2moon on 2006-9-30 at 02:46 ]

2006-9-30 02:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




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



  Quote:
Originally posted by sea2moon at 2006-9-30 02:36:
if "!ipfilter!"=="0" set ip=!iptemp:~1!
        if "!macfilter!"=="0" set mac=!mactemp:~1!
        set /a ipfilter=!ipfilter!+1
        set /a macfilter=! ...

大家互相帮助...

你的内网可能只有一个IP和MAC, 这段代码在我的电脑上显示的是电信路由器的IP和MAC地址.

另外发现这段代码没有开启延缓的环境变量, 可能你没复制的时候出错了. setlocal enabledelayedexpansion

2006-9-30 09:36
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
ros244
新手上路





积分 4
发帖 2
注册 2006-10-7
状态 离线
『第 25 楼』:  

学习了

2006-10-7 04:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
weilong888
银牌会员




积分 1270
发帖 548
注册 2004-5-31
状态 离线
『第 26 楼』:  

这样的讨论真的能让人长见识。

2006-10-7 06:12
查看资料  发送邮件  发短消息 网志  OICQ (314295922)  编辑帖子  回复  引用回复
koney
新手上路





积分 2
发帖 1
注册 2006-10-5
状态 离线
『第 27 楼』:  

如果我是双网卡的PC
两快网卡的IP的网关都需要绑定
用上面提到的方法 可以绑定第一块网卡的IP和网关
那应该怎么检测是否有第二块网卡
如果有的话两块网卡一起绑定

2006-10-9 03:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




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

楼上兄弟把 ipconfig /all 的显示贴出来看看.

2006-10-9 05:38
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
31676201
新手上路





积分 19
发帖 9
注册 2006-11-29
状态 离线
『第 29 楼』:  

DOS,代表着自由开放与发展,我们努力起來,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

2006-12-4 12:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


  楼上的兄弟也不用这么灌水吧? 汗一个先……


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


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



论坛跳转: