我有一个注册表项并想获取其值。
但是它总是打印出注册表项的 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。反过来不行。在提示符中测试命令时,必须编辑所有双百分号。