![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 08:51 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 同样的命令在FOR语句为何无法执行? |
| 可打印版本 708 / 7 |
| 第1楼 sglxy | 发表于 2008-04-27 13:26 |
| 中级用户 发帖 87 积分 397 | |
|
同样的命令在FOR语句为何无法执行? 请朋友们帮我看看以下的命令:
(1)、 nbtstat /a %computername%|find /i "MAC Address">mac2.txt (2)、For /f "delims== tokens=3" %%m in ('nbtstat /a %computername%^|find /i "MAC Address"') do echo 本机网卡的MAC地址是:%%m>MAC3.txt 在批处理文件中直接用第一条代码后可以正常执行,但是将第一行的代码用到FOR语句中(见第二条)就不能执行,这是为什么?难道我这第二条代码写错了?请明白的朋友指点一下,我先谢谢了…… [ Last edited by sglxy on 2008-4-27 at 01:27 PM ] |
|
| 第2楼 sylovanas | 发表于 2008-04-27 13:30 |
| 初级用户 发帖 42 积分 107 | |
|
For /f "delims=" %%m in ('nbtstat /a %computername%^|find /i "MAC Address"') do echo 本机网卡的MAC地址是:%%m>MAC3.txt
|
|
| 第3楼 plp626 | 发表于 2008-04-27 13:33 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
MAC Address = **-**-**-**-**-**
tokens=2吧 |
|
| 第4楼 sglxy | 发表于 2008-04-27 13:44 |
| 中级用户 发帖 87 积分 397 | |
|
谢谢sylovanas朋友,我的意思是说'nbtstat /a %computername%^|find /i "MAC Address"'产生的结果,我只要后面的MAC:00-11-D6-D0-54-7F,而不要前面的内容:“ MAC Address = ”
|
|
| 第5楼 sglxy | 发表于 2008-04-27 13:50 |
| 中级用户 发帖 87 积分 397 | |
|
plp626朋友的“tokens=2”执行成功了,我不明白的是:“ MAC Address = 00-11-D6-D0-54-7F” 这个结果经过“delims==” 处理以后,“00-11-D6-D0-54-7F”字段难道不是应该为“tokens=3”吗?
|
|
| 第6楼 26933062 | 发表于 2008-04-27 13:57 |
| 银牌会员 发帖 879 积分 2,268 | |
|
MAC Address = 00-11-D6-D0-54-7F
何来的 3 ? |
|
| 第7楼 zh159 | 发表于 2008-04-27 13:58 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
“delims==” 将“ MAC Address = 00-11-D6-D0-54-7F”分为“ MAC Address ”与“ 00-11-D6-D0-54-7F”,空格不参与分段
|
|
| 第8楼 sglxy | 发表于 2008-04-27 14:17 |
| 中级用户 发帖 87 积分 397 | |
|
原来空格不参与分段,明白了。谢谢各位朋友!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |