如何检查批处理文件中是否已安装java的路径变量
我有一个test.bat文件,我需要在其中编写一个脚本来检查java的PATH变量是否已安装如何检查批处理文件中是否已安装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.
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…,它可以工作。塔拉和亚历克斯:)