1

我有一个正在尝试运行的批处理文件,但我不断收到错误消息。我认为这个问题类似于I can't get the right syntax to use WMIC in batch file,但 dbenham 的答案在我的情况下并不完全有效,因为我正在使用 findstr。这是批处理文件的一部分(它挂在上面的部分):

for /F %%I in ('wmic nic where 'Manufacturer!="Microsoft" and Macaddress IS NOT NULL' get index ^| findstr /r [0-9]') do (echo %%I)

如果您从 cmd 或它自己的批处理文件行运行 wmic 命令,它就可以正常工作,但我无法让它在 for 循环中运行。有谁可以帮我离开这里吗?

谢谢,约翰

4

2 回答 2

4

试试这种方式:

for /f "tokens=2 delims==" %%I in (
    'wmic nic where "manufacturer!=\"Microsoft\" and macaddress is not null" get macaddress /format:list 2^>NUL'
) do echo %%I

您必须在嵌套引号的地方用反斜杠转义引用的内容。

于 2013-03-20T14:59:36.083 回答
0

WMIC 中有一个功能,它有时会等待用户输入。

如果你更换

wmic

在你的例子中,与

echo. ^| wmic

它将允许命令完成

于 2016-11-02T17:10:06.623 回答