如何检查批处理文件中是否已安装java的路径变量

如何检查批处理文件中是否已安装java的路径变量,java,batch-file,Java,Batch File,我有一个test.bat文件,我需要在其中编写一个脚本来检查java的PATH变量是否已安装 Conditions :- 1) If yes then a) Check for the java version . b) Check for JAVA_HOME env variable :- i) if no , create it. ii) if yes , get the JAVA_HOME value.

我有一个test.bat文件,我需要在其中编写一个脚本来检查java的PATH变量是否已安装

 Conditions :-

  1) If yes then 
       a) Check for the java version .
       b) Check for JAVA_HOME env variable :-
           i) if no , create it.
           ii) if yes , get the JAVA_HOME value.
  2) If No then
   set JAVA_HOME to local path (embedded)



 I know the commands like :-
      For version
         -> java -version

      For variable path 
         -> echo %path%

      For Java variable path
         -> echo %JAVA_HOME%
但如何在批处理文件(即bat)中为这些条件编写脚本?
我对这个很陌生,所以请给我你有价值的答案或有用的链接

您可以通过以下方式进行检查:

@echo off
if defined JAVA_HOME (
if exist "%JAVA_HOME%\bin\javac.exe" goto okJavac
)

echo Java not found
exit 1

%okJavac
echo Java path "%JAVA_HOME%"
rem the end of your script

您可以通过以下方式进行检查:

@echo off
if defined JAVA_HOME (
if exist "%JAVA_HOME%\bin\javac.exe" goto okJavac
)

echo Java not found
exit 1

%okJavac
echo Java path "%JAVA_HOME%"
rem the end of your script
选中相应的选项以使用批处理文件。 您可以按照描述的方式检查java版本的输出,检查是否适合使用批处理文件。 您可以按照描述的方式检查java版本的输出,尝试以下方法:

@ECHO OFF&SETLOCAL
对于('java-version 2^>^&1')中的/f令牌^=2delims^=^“%%a,请设置“JavaVersion=%%a”
如果未定义JavaVersion,则ECHO未安装Java&GOTO:EOF
对于/f“tokens=2delims=。”(“%JavaVersion%”)中的%%a,请设置“sub=%%a”
如果已定义程序文件(x86)(
如果未定义JAVA\u HOME,则设置“JAVA\u HOME=%ProgramFiles(x86)%\JAVA\jre%sub%\bin”
)否则(
如果未定义JAVA\u HOME,则设置“JAVA\u HOME=%ProgramFiles%\JAVA\jre%sub%\bin”
)
设置“java_主页”
暂停
试试这个:

@ECHO OFF&SETLOCAL
对于('java-version 2^>^&1')中的/f令牌^=2delims^=^“%%a,请设置“JavaVersion=%%a”
如果未定义JavaVersion,则ECHO未安装Java&GOTO:EOF
对于/f“tokens=2delims=。”(“%JavaVersion%”)中的%%a,请设置“sub=%%a”
如果已定义程序文件(x86)(
如果未定义JAVA\u HOME,则设置“JAVA\u HOME=%ProgramFiles(x86)%\JAVA\jre%sub%\bin”
)否则(
如果未定义JAVA\u HOME,则设置“JAVA\u HOME=%ProgramFiles%\JAVA\jre%sub%\bin”
)
设置“java_主页”
暂停

:我尝试了您的代码,但在双击test.bat文件后,我看到了一个出现和消失的终端。甚至我还检查了JAVA_主路径位置及其在代码中定义的正确位置。我如何解决这个问题?@Tala:有什么解决方法吗?从cmd启动你的bat,并添加K键:
/K yourfile.bat
我尝试了:okJavac而不是%okJavac…,它可以工作。thanx Tala和Alexxx:):我尝试了你的代码,但在双击test.bat文件后,我看到了一个出现和消失的终端。甚至我检查了JAVA_主路径位置和它在代码中定义的正确位置。我如何解决这个问题?@Tala:有什么解决方法吗?从cmd启动你的bat,并添加K键:
/K yourfile.bat
我尝试了:okJavac而不是%okJavac…,它可以工作。塔拉和亚历克斯:)