Board logo

标题: 同样的命令在FOR语句为何无法执行? [打印本页]

作者: sglxy     时间: 2008-4-27 13:26    标题: 同样的命令在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 ]
作者: sylovanas     时间: 2008-4-27 13:30
For /f "delims=" %%m in ('nbtstat /a %computername%^|find /i "MAC Address"') do echo 本机网卡的MAC地址是:%%m>MAC3.txt
作者: plp626     时间: 2008-4-27 13:33
MAC Address = **-**-**-**-**-**
tokens=2吧
作者: sglxy     时间: 2008-4-27 13:44
谢谢sylovanas朋友,我的意思是说'nbtstat /a %computername%^|find /i "MAC Address"'产生的结果,我只要后面的MAC:00-11-D6-D0-54-7F,而不要前面的内容:“    MAC Address = ”
作者: sglxy     时间: 2008-4-27 13:50
plp626朋友的“tokens=2”执行成功了,我不明白的是:“    MAC Address = 00-11-D6-D0-54-7F” 这个结果经过“delims==” 处理以后,“00-11-D6-D0-54-7F”字段难道不是应该为“tokens=3”吗?
作者: 26933062     时间: 2008-4-27 13:57
MAC Address = 00-11-D6-D0-54-7F
何来的 3 ?
作者: zh159     时间: 2008-4-27 13:58
“delims==” 将“    MAC Address = 00-11-D6-D0-54-7F”分为“    MAC Address ”与“ 00-11-D6-D0-54-7F”,空格不参与分段
作者: sglxy     时间: 2008-4-27 14:17
原来空格不参与分段,明白了。谢谢各位朋友!