Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用批处理文件安装当前版本的jre_Batch File_Cmd - Fatal编程技术网

Batch file 如何使用批处理文件安装当前版本的jre

Batch file 如何使用批处理文件安装当前版本的jre,batch-file,cmd,Batch File,Cmd,我正在编写一个批处理文件,需要在其中获取系统中安装的jre的当前版本,然后根据该版本做出决定-我知道我可以通过查询注册表来获取当前版本。以下命令给出以下输出- reg query "HKLM\Software\JavaSoft\Java Runtime Environment" HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment Java7FamilyVersion REG_SZ 1.7.0 C

我正在编写一个批处理文件,需要在其中获取系统中安装的jre的当前版本,然后根据该版本做出决定-我知道我可以通过查询注册表来获取当前版本。以下命令给出以下输出-

reg query "HKLM\Software\JavaSoft\Java Runtime Environment"

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
    Java7FamilyVersion    REG_SZ    1.7.0
    CurrentVersion    REG_SZ    1.7

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.7
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.7.0
但是我无法使用

for /f "tokens=3"  %%i in ('Command') do echo %%i
我只想要针对当前版本的“1.7”,然后进行比较并做出决定。我无法理解什么样的选择会得到这样的结果。 任何擅长批处理命令的人都可以在这方面帮助我吗?任何帮助都将不胜感激。我还尝试解析java-version的输出并获取值。

您可以使用“java-version”命令并过滤/解析输出

rem获取“java-version”输出并过滤包含“Runtime-Environme”的行 新界”。记下第六个单词,并重复“u”之前的部分


为什么不使用java版本?谢谢!我发现了这个——它起作用了<代码>对于/f令牌^=2-5^ delims^=.-^“%%j in('java-fullversion 2^>^&1')是否设置jver=%%j%%k
for /f "tokens=1-10" %%a in ('java -version 2^>^&1 ^| find "Runtime Environme
nt"') do for /f "delims=_" %%x in ('echo %%f') do echo %%x