我需要一个Windows命令行脚本,它接受输出,编辑它并创建一个环境变量

时间:2013-08-07 23:40:26

标签: windows batch-file computer-name wds

我在BIOS中嵌入了资产标签。我用

wmic SYSTEMENCLOSURE获取SMBiosAssetTag

这会提取我想要的信息,但格式不正确:

SMBIOSAssetTag

11886

我需要拥有这5个数字,而不是别的。然后,我将使用该变量为计算机命名第一个登录脚本。我花了好几个小时,如果这是linux的话,我可以在3分钟内完成。

注意:我不能在这些版本上放置linux工具: - (

3 个答案:

答案 0 :(得分:1)

使用

WMIC SYSTEMENCLOSURE GET SMBiosAssetTag /FORMAT:VALUE

会有更好的输出:

(some empty lines)
SMBIOSAssetTag=CZC1296FLD
(some empty lines)

所以,批量你可能只是

FOR /F "TOKENS=1,* DELIMS==" %%v IN (WMIC SYSTEMENCLOSURE GET SMBiosAssetTag /FORMAT:VALUE) DO IF /I "%%v" == "SMBIOSAssetTag" SET SMBIOSAssetTag=%%w

旁注:WMIC输出中的难点是处理空行。

答案 1 :(得分:0)

这样可以自行测试:

for /f "eol=S" %%a in ('wmic SYSTEMENCLOSURE get SMBiosAssetTag^|sort') do (set var=%%a)

工作正常。

莫纳

答案 2 :(得分:0)

for /f "delims=" %%a in ('wmic SYSTEMENCLOSURE get SMBiosAssetTag') do for /f %%b in ("%%a") do set "var=%%b"
echo %var%