繁体   English   中英

WMIC命令不适用于批处理文件的For循环

[英]WMIC Command Not Working in For Loop of Batch File

我有一个我试图运行的批处理文件,但我一直收到错误。 我认为这个问题类似于我无法在批处理文件中使用WMIC的正确语法 ,但dbenham的答案在我的情况下并不完全有效,因为我正在使用findstr。 这是批处理文件的一部分(它挂在的部分):

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

如果你从cmd或它自己的批处理文件行运行它,wmic命令工作得很好,但我不能让它在for循环中运行。 有人可以帮我从这里出去吗?

谢谢,约翰

试试这种方式:

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

你必须反斜杠 - 转义引号嵌套的引用内容。

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

如果你更换

wmic

在你的例子中,与

echo. ^| wmic

它将允许命令完成

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM