Batch file 通过查询注册表捕获Java主路径

Batch file 通过查询注册表捕获Java主路径,batch-file,Batch File,谢谢你调查我的问题 我有一个批处理脚本来安装java,我正在使用下面的命令来捕获java_HOME和JRE_HOME路径。但是,我在reg查询中看到一个错误。你能帮我一下吗 我正在使用的命令: set KeyName1=HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment set Cmd=reg query "%KeyName1%" /s for /f "tokens=2*" %%i in ('%Cmd% ^| findstr

谢谢你调查我的问题

我有一个批处理脚本来安装java,我正在使用下面的命令来捕获java_HOME和JRE_HOME路径。但是,我在reg查询中看到一个错误。你能帮我一下吗

我正在使用的命令:

set KeyName1=HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
set Cmd=reg query "%KeyName1%" /s
for /f "tokens=2*" %%i in ('%Cmd% ^| findstr "JavaHome"') do set JRE_HOME=%%i

for /f "tokens=2*" %%a in ('reg.exe query "HKLM\Software\JavaSoft\Java Development Kit" /v "Path" ^| find /i "Path"') do echo JAVA_HOME=%%a
错误: 错误:系统找不到指定的注册表项或值


谢谢。

您的注册表查询看起来很奇怪,您肯定知道要查找的注册表值的名称。此外,您还指定了第二个标记和剩余标记,在您的情况下,这些标记将归属于变量
%%i
&
%%j
%%a
&
%%b
。在每个示例中,属于
%%i
%%a
的数据可能是
REG_SZ
,因此建议您最好使用
%%j
%%b
。使用批处理脚本获取发布的包含
java.exe
的目录如何?您的注册表查询似乎有些奇怪,您肯定知道要查找的注册表值的名称。此外,您还指定了第二个标记和剩余标记,在您的情况下,这些标记将归属于变量
%%i
&
%%j
%%a
&
%%b
。在这些示例中,属于
%%i
%%a
的数据可能是
REG_SZ
,因此建议您最好使用
%%j
%%b
。如何使用批处理脚本获取发布时包含
java.exe
的目录?