我有注册表路径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
答案 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