我在 BIOS 中嵌入了资产标签。我用
wmic SYSTEMENCLOSURE 获取 SMBiosAssetTag
这会提取我想要的信息,但格式不正确:
SMBIOSAssetTag
11886
我只需要这 5 个数字就可以了。然后,我将使用该变量来命名具有首次登录脚本的计算机。我花了几个小时在这上面,如果这是 linux,我可以在 3 分钟内完成。
注意:我不能在这些版本上放置 linux 工具 :-(
我在 BIOS 中嵌入了资产标签。我用
wmic SYSTEMENCLOSURE 获取 SMBiosAssetTag
这会提取我想要的信息,但格式不正确:
SMBIOSAssetTag
11886
我只需要这 5 个数字就可以了。然后,我将使用该变量来命名具有首次登录脚本的计算机。我花了几个小时在这上面,如果这是 linux,我可以在 3 分钟内完成。
注意:我不能在这些版本上放置 linux 工具 :-(
使用
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 输出中的困难部分是处理空行。
这将起作用,我自己测试过:
for /f "eol=S" %%a in ('wmic SYSTEMENCLOSURE get SMBiosAssetTag^|sort') do (set var=%%a)
它工作正常。
莫娜
for /f "delims=" %%a in ('wmic SYSTEMENCLOSURE get SMBiosAssetTag') do for /f %%b in ("%%a") do set "var=%%b"
echo %var%