Batch file 如何确定是否使用批处理文件安装了Java?

Batch file 如何确定是否使用批处理文件安装了Java?,batch-file,Batch File,我正在尝试获取java是否安装在使用批处理文件的系统中。 下面的代码给出了Java已经存在的版本。如果Java不存在,代码将无法执行 for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do ( Set VERSION=%%g ) 如何检测未安装Java?假设您需要的任何版本输出都在第一行: @Echo关闭 设置“JV=” 对于('java-version 2^>^&1')中的/F“T

我正在尝试获取java是否安装在使用批处理文件的系统中。 下面的代码给出了Java已经存在的版本。如果Java不存在,代码将无法执行

for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
Set VERSION=%%g
)

如何检测未安装Java?

假设您需要的任何版本输出都在第一行:

@Echo关闭
设置“JV=”
对于('java-version 2^>^&1')中的/F“Tokens=3”%%A,如果未定义JV,请设置“JV=%%~A”
如果/I“%JV%”==“未安装”(未安装Echo Java),则返回Java版本“%JV%”
暂停

作为旁注,这不会告诉您是否未安装java,而是告诉您java可执行文件是否在当前目录或
%PATH%
中可用。还请注意,这使用了您声明的短语
“java”不被识别为内部或外部命令、可操作程序或批处理文件
,这意味着此脚本可能与语言有关。

可能重复的
echo%java\u HOME%
也值得一试。我可以使用代码分析错误输出吗。上面的代码给出了一个错误:“java”未被识别为内部或外部命令、可操作程序或批处理文件。我是否可以解析此错误?
如果未找到“%version%”==“echo”
?请从
cmd
窗口运行它以查看任何错误消息。