中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 帮忙看一下这段命令错在那里:获取计算机名和mac地址
作者:
标题: 帮忙看一下这段命令错在那里:获取计算机名和mac地址 上一主题 | 下一主题
lywlhs
初级用户





积分 25
发帖 10
注册 2008-10-3
状态 离线
『楼 主』:  帮忙看一下这段命令错在那里:获取计算机名和mac地址


if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%b in (phyaddr.txt) do set Mac=%%b
for /f "delims== tokens=2" %%c in ('more ^<C:\Mac.ini^|find /i "%Mac%"') do set IP=%%c
pause
这样可以正确的得出Mac地址。但
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist ComputerName.txt del ComputerName.txt
find "Host Name" ipconfig.txt >ComputerName.txt
for /f "skip=2 tokens=15" %%b in (ComputerName.txt) do set Mac=%%b
pause
却得不到计算机名。
朋友们,帮我看一下错在那里。谢谢。

───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"帮忙看一下这段命令错在那里?"不利于论坛搜索
处罚:因属论坛新人,不予积分处罚
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-10-5 at 16:11 ]

2008-10-5 15:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pooronce
中级用户





积分 484
发帖 250
注册 2007-6-5
状态 离线
『第 2 楼』:  

第二段谁写的?
既然只把"host name"行送到了ComputerName.txt里,干嘛又在这个文本里找Mac?有点穿越了-_-#
find "Host Name" ipconfig.txt
后面的删了

2008-10-5 15:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lywlhs
初级用户





积分 25
发帖 10
注册 2008-10-3
状态 离线
『第 3 楼』:  

if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist ComputerName.txt del ComputerName.txt
find "Host Name" ipconfig.txt >ComputerName.txt
for /f "skip=2 tokens=15" %%a in (ComputerName.txt) do set Name=%%a
pause
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%b in (phyaddr.txt) do set Mac=%%b

整个命令是这样的,我要得出计算机名和mac地址。这个命令运行后,得不到计算机名,但可以正确得出mac地址。上面可能我发贴的时候输入错误。

2008-10-5 15:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
echo 计算机名:%computername%
for /f "tokens=12" %%a in ('ipconfig /all^|findstr /i /c:"Physical Address"') do set mac=%%a
echo MAC地址:%mac%
pause




2008-10-5 16:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Evangel
初级用户





积分 145
发帖 95
注册 2008-4-12
状态 离线
『第 5 楼』:  

find "Host Name" ipconfig.txt >ComputerName.txt
for /f "skip=2 tokens=15" %%a in (ComputerName.txt) do set Name=%%a
pause
if exist phyaddr.txt del phyaddr.txt
貌似应该是tokens=16

2008-10-5 16:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lywlhs
初级用户





积分 25
发帖 10
注册 2008-10-3
状态 离线
『第 6 楼』:  

版主就是版主,太厉害了。我打了一堆的命令,人家一行就搞定。。。厉害。

2008-10-5 16:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: