我知道从注册表读取值,设置为 bat 文件中的变量有很多问题,但我不知道如何读取(默认)值?
如果我使用
Reg.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Notepad++"
我会得到
(Default) REG_SZ C:\ProgramFiles (x86)\Notepad++
但如果我使用代码:
@echo OFF
Reg.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Notepad++"
setlocal ENABLEEXTENSIONS
FOR /F "usebackq skip=2 tokens=1-3" %%A IN ('Reg QUERY "HKLM\SOFTWARE\Wow6432Node\Notepad++" ') DO (
set ValueType=%%B
set ValueValue=%%C
)
if defined ValueType(
@echo Value Type = %ValueType%
@echo Value Value = %ValueValue%
) else (
@echo not found.
)
我收到错误:“命令的语法不正确”
我想要的是放入 ValueValue = C:\ProgramFiles (x86)\Notepad++
有人可以帮助我吗?
最佳答案
从命令行:
for /f "tokens=3*" %a in ('reg query "HKLM\SOFTWARE\Wow6432Node\Notepad++"') do echo %a %b
如果你想在脚本中做,加倍 %
关于windows - 如何从注册表中读取(默认)值并将其放入批处理文件中的变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22537506/