我有一个.reg文件,它将一些信息插入到系统属性中。我想将计算机模型添加到此。 这是当前的脚本。如果可能的话,我想在这里自动插入制造商和型号。
可以使用命令提示符使用以下命令找到模型和制造商
wmic computersystem get model
wmic computersystem get manufacturer
我想知道如何将结果自动插入到.reg文件中,以便脚本适用于不同的模型等。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
"Logo"="c:\\OEM\\OEMLOGO.BMP"
"Manufacturer"="example"
"Model"="example"
"SupportHours"="8:30am - 5:00pm"
"SupportPhone"="0458228893"
"SupportURL"="www.web.com.au"
答案 0 :(得分:0)
通常,当您想捕获并使用命令的输出时,请使用for /F
循环。
for /f "delims=" %%I in ('command') do set "var=%%~I"
......或类似的。但是,WMI查询有点棘手,因为结果以奇数编码显示(UCS-2 LE,如果我没记错的话);所以捕获wmic
的输出需要更多的关注。
一个技巧是查询一个额外的列,然后忽略它。然后您想要的列不受特技编码的影响。在这种情况下,
for /f "tokens=2-3 delims=," %%I in (
'wmic computersystem get manufacturer^,model^,status /format:csv'
) do (
set "manufacturer=%%~I"
set "model=%%~J"
)
...应该为您提供可以使用的变量所需的值。由于第1列是您的计算机名称,第4列是"状态"您可以放下这些内容,最后得到您想要的值,不受任何行首或行尾编码怪癖的影响。
从那以后,它只是一个简单的问题
set "branch=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation"
reg add "%branch%" /v Model /d "%model%" /f
reg add "%branch%" /v Manufacturer /d "%manufacturer%" /f
或
>>regfile.reg echo "Model"="%model%"
>>regfile.reg echo "Manufacturer"="%manufacturer%"