【问题标题】:Batch - Figure out if java is installed or not批处理 - 确定是否安装了 java
【发布时间】:2017-06-11 14:30:54
【问题描述】:

首先要说,我根本没有使用批处理脚本的经验。

正如标题已经说明的那样,我试图通过 bat 文件确定系统上是否安装了 java。我已经检查了很多方法来做到这一点,但其中大多数似乎比完成这项工作所需要的复杂。

到目前为止,我的想法是将java -version 的结果保存到一个变量中,然后检查是否确实有结果,或者是否找不到命令java。可悲的是,我什至不知道如何将java -version 的输出保存到一个变量中,以便我可以比较它。

如果有人可以帮助我解决我的想法或对我的问题有不同的简单解决方案,我会很高兴你能帮助我。谢谢。

【问题讨论】:

    标签: java windows batch-file terminal command-prompt


    【解决方案1】:

    试试这个:

    where java >nul 2>nul
    if %errorlevel%==1 (
        @echo Java not found in path.
        exit
    )
    

    >nul2>nul可选,仅用于静音where 命令输出。

    【讨论】:

      【解决方案2】:

      尝试在脚本中使用java -version 命令并将其保存到如下变量中:isJavaInstalled="$(java -version)"。如果安装了 Java,则该变量应包含如下内容: java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode),否则变量为空。 您还可以尝试检查 JAVA_HOME 系统变量的值,该变量应包含安装 Java 的路径。

      【讨论】:

      • 基于 Unix 的 shell 的良好解决方案。但我认为这不适用于 Windows .bat 文件...
      • 你是对的,但是java -version 的方法应该有效。所以也许where javaecho %JAVA_HOME% 会有所帮助?
      • 是的!请看我的回答;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多