目前我正在运行以下命令以从“systeminfo”获取一些信息,但是它需要运行 systeminfo 两次,这需要一些时间。我如何才能完成多个“查找“XXX”做组”?
For /f "delims=" %%A IN ('systeminfo ^| Find "OS Name"') DO Set "VarA=%%A"
For /f "delims=" %%A IN ('systeminfo ^| Find "BIOS Version"') DO Set "VarB=%%A"
非常感谢任何帮助。
最佳答案
下一个代码片段可以工作(注意 set
命令只是 ECHO
用于调试目的;在调试之前删除大写的 ECHO
):
For /f "delims=" %%A IN ('systeminfo') DO (
For /F "delims=" %%G IN ('echo %%A ^| Find /I "OS Name"') Do ECHO Set "VarA=%%A"
For /F "delims=" %%G IN ('echo %%A ^| Find /I "BIOS Version"') DO ECHO Set "VarB=%%A"
)
但是,请遵循 Stephan 的建议并解析 wmic
而是输出(不要忘记 /value
选项)。要正确地做到这一点,请注意 Dave Benham 的文章 WMIC
and FOR /F
: A fix for the trailing <CR>
problem
关于windows - 批处理脚本、多个查找和多个 doh 集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30827438/