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

时间:2017-12-19 09:45:39

标签: batch-file wmic

我有以下命令:

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

我想将它的输出保存到变量中并像处理bash一样处理:esxi_hwinfo.sh @ GitHub例如:删除一些子字符串,缩短数字,将一个字符串转换为另一个字符串等。

是否可以迭代变量内的行并获得第二个?我见过的例子只适用于文件(for /f "delims=" %%1 in ('type !foo!') do)。如果我使用变量而不是文件,则表示没有这样的文件。

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

我想要工作没有问题代码。关于我正在努力实现的技术实现(或可能性)存在一个问题。这更像是“怎么样”而不是“什么是错的”问题(就像here中最多的那样)

1 个答案:

答案 0 :(得分:1)

试试这个:

@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