【问题标题】:Getting the latest Java Runtime Enviroment parent folder获取最新的 Java Runtime Environment 父文件夹
【发布时间】:2018-04-20 15:21:04
【问题描述】:

我想让我的工作更轻松一些,我尝试创建一个批处理文件来获取 JRE 路径。我只得到 javaw.exe 路径。例如,我们使用的是 Team Center 10。它有这个 tem_init 并抓取文件夹 JRE7(示例版本),但人们更新到最新版本并卸载。我正在寻找一个批处理文件来自动获取安装的 JRE。

    @echo off 
    setlocal enableextensions disabledelayedexpansion

    rem Where to find java information in registry
    set "javaKey=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment"

    rem Get java home for current java version
    set "javaDir="
    for /f "tokens=2,*" %%d in ('reg query "%javaKey%\%javaVersion%" /v "JavaHome" 2^>nul') do set "javaDir=%%e"

    if not defined javaDir (
        echo Java directory not found
    ) else (
        set TC_JRE_HOME : %javaDir%
    )

:end 
   endlocal

我想得到这样的路径C:\Program Files\Java\jre7

【问题讨论】:

    标签: windows batch-file java-runtime-compiler


    【解决方案1】:

    你可以试试这个,(它假定最新版本将是最后返回的结果):

    @Echo Off
    Set "baseKey=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment"
    Set "regVal=JavaHome"
    Set "javaDir="
    For /F "Tokens=2*" %%A In (
        '"Reg Query "%baseKey%" /S /F "%regVal%" /V 2>Nul|Find /I "%regVal%""'
    ) Do Set "javaDir=%%~B"
    If Not Defined javaDir (Echo Java directory not found) Else (
        Set "TC_JRE_HOME=%javaDir%")
    Pause
    

    编辑

    这似乎是Set 一个不必要的变量,这不是

    @Echo Off
    Set "baseKey=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment"
    Set "regVal=JavaHome"
    Set "TC_JRE_HOME="
    For /F "Tokens=2*" %%A In (
        '"Reg Query "%baseKey%" /S /F "%regVal%" /V 2>Nul|Find /I "%regVal%""'
    ) Do Set "TC_JRE_HOME=%%~B"
    If Not Defined TC_JRE_HOME Echo Java directory not found
    Pause
    

    我添加了Pause 命令只是为了允许读取任何Echoes。

    【讨论】:

      猜你喜欢
      • 2020-11-07
      • 2017-09-28
      • 2021-08-18
      • 2023-02-22
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      相关资源
      最近更新 更多