简体   繁体   English

如何从注册表中读取(默认)值并将其放入批处理文件中的变量?

[英]How to read (Default) value from registry and put into a variable within a batch file?

I know there are a lot of questions with reading values from registry, set to a variable in a bat file, but i did not figure out how the read the (default) value?? 我知道从注册表中读取值有很多问题,设置为bat文件中的变量,但我没有弄清楚如何读取(默认)值?
If I use 如果我使用

Reg.exe QUERY "HKLM\\SOFTWARE\\Wow6432Node\\Notepad++" Reg.exe QUERY“HKLM \\ SOFTWARE \\ Wow6432Node \\ Notepad ++”


I will get 我会得到

(Default) REG_SZ C:\\ProgramFiles (x86)\\Notepad++ (默认)REG_SZ C:\\ ProgramFiles(x86)\\ Notepad ++

but if I use the code: 但如果我使用代码:

@echo OFF @echo OFF
Reg.exe QUERY "HKLM\\SOFTWARE\\Wow6432Node\\Notepad++" Reg.exe QUERY“HKLM \\ SOFTWARE \\ Wow6432Node \\ Notepad ++”
setlocal ENABLEEXTENSIONS setlocal ENABLEEXTENSIONS
FOR /F "usebackq skip=2 tokens=1-3" %%A IN ('Reg QUERY "HKLM\\SOFTWARE\\Wow6432Node\\Notepad++" ') DO ( FOR / F“usebackq skip = 2 tokens = 1-3”%% A IN('Reg QUERY“HKLM \\ SOFTWARE \\ Wow6432Node \\ Notepad ++”')DO(
set ValueType=%%B 设置ValueType = %% B
set ValueValue=%%C 设置ValueValue = %% C
)
if defined ValueType( 如果定义了ValueType(
@echo Value Type = %ValueType% @echo值类型=%ValueType%
@echo Value Value = %ValueValue% @echo价值=%ValueValue%
) else ( )其他(
@echo not found. @echo没找到。
)

I get the error: "The syntax of the command is incorrect" 我收到错误:“命令的语法不正确”
What I want is to put into ValueValue = C:\\ProgramFiles (x86)\\Notepad++ 我想要的是放入ValueValue = C:\\ ProgramFiles(x86)\\ Notepad ++
Someone can help me? 有人可以帮帮我吗?

From the cmd line: 从cmd行:

for /f "tokens=3*" %a in ('reg query "HKLM\SOFTWARE\Wow6432Node\Notepad++"') do echo %a %b

if you want to do it in script, double the %'s 如果你想在脚本中做,请加倍%

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM