解析 WMIC 输出以将返回值设置为变量(windows 批处理)

Parse WMIC output to set returned value as a variable (windows batch)

我有以下命令:

c:\wmic baseboard get Manufacturer
Manufacturer
ASUSTeK Computer INC.

我想将它的输出保存到变量中并以某种方式处理,就像我在此处使用 bash 所做的那样:esxi_hwinfo.sh @ GitHub 例如:删除一些子字符串,缩短数字,转换一个字符串到另一个等等

是否可以遍历变量内的行并获取例如第二行?我见过的示例仅适用于文件 (for /f "delims=" %%1 in ('type !foo!') do)。如果我使用变量而不是文件,它会说没有这样的文件。

我不想使用文件作为中介,因为我认为这通常不是一个好主意。

没有我要使用的问题代码。关于我要实现的目标的技术实现(或可能性)存在问题。它更像是 "how to" 而不是 "what's wrong" 问题(最像 here 中的问题)

试试这个:

@echo off
set "manu="&for /f "skip=1 tokens=*" %%m in ('wmic baseboard get manufacturer') do if not defined manu set "manu=%%m"

rem now do things to %manu%
echo %manu%
pause