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

问题描述 投票:0回答:1

我有以下命令:

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

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

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

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

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

batch-file wmic
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.