WMIC 命令在批处理文件的 For 循环中不起作用

1 wmi for-loop batch-file wmi-query wmic

我有一个正在尝试运行的批处理文件,但我不断收到错误。我认为这个问题类似于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 命令或它自己的批处理文件行,则 wmic 命令工作得很好,但我无法让它在 for 循环中运行。有人可以帮我从这里出去吗?

谢谢,约翰

roj*_*ojo 5

试试这样:

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
Run Code Online (Sandbox Code Playgroud)

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