如何在变量中添加regedit中的Value数据

时间:2017-11-01 16:54:09

标签: batch-file cmd registry

我有注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\MyLocation,里面我有一个名为Place的字符串值,数据值为Server123 如何使用批处理文件命令(cmd)将此数据值Server123添加到变量?

我正在尝试使用以下代码,但它不会在MyVariable中保存数据值:

set Path=HKEY_LOCAL_MACHINE\SOFTWARE\MyLocation
set StrVal=Place

set MyVariable=
for /f %%a in ('reg query %Path% /v %StrVal% ^| findstr %StrVal%') do (
    set MyVariable=%%b
)

echo MyVariable

1 个答案:

答案 0 :(得分:2)

set myPath="HKLM\SOFTWARE\MyLocation"
set StrVal="Place"
for /f "tokens=3" %%a in ('reg query %Path% /v %StrVal%') do (
set myVariable=%%a
)
echo %myVariable%

1-将 Path 更改为 myPath 或其他名称(根据语言语法,Path
2-始终在字符串周围使用引号(避免空间问题)
3-将 HKEY_LOCAL_MACHINE 更改为 HKLM (按照Microsoft给出的帮助,保留推荐的编写代码语法)
4用户 tokens=3 而不是 find /i %StrVal% (无用的只是给出Place的名称,而不是{{1 }})
5-要检索place的值,您必须在MyVariable

之间添加它