从注册表项中提取值

从注册表项中提取值

我有一个注册表项并想获取其值。

但是它总是打印出注册表项的 REG_SZ 和名称。请问我如何才能只获取值?谢谢!

REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v "DisplayVersion"

尝试了以下方法但对我来说不起作用。

for /f "tokens=2*" %%a in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v "DisplayVersion"') do set "value=%%~b"
echo %value%

还尝试了以下操作,但在使用 cmd 运行时总是出现错误“%%a 此时是意外的”。

for /f "tokens=3" %%a in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us"  /V DisplayVersion  ^|findstr /ri "REG_SZ"') do echo %%a

该注册表项确实存在,只是我无法单独找出其值。

雷格·基

答案1

仅在批处理脚本中使用 %%a,在提示符中使用 %a。反过来不行。在提示符中测试命令时,必须编辑所有双百分号。

相关内容