当我安装 Java 时,在安装结束时,它没有在我的系统上检测到它:
C:\Windows\system32>where java
INFO: No file could be found for the given patterns.
和
C:\Windows\system32>java -version
"java" is not recognized as an internal or external command,
executable program or batch file.
只有当我重新启动电脑时,它才会检测到它
问题:我应该通过 cmd 使用什么命令来检测是否存在已安装的 java(任何版本),而无需重新启动 PC?
PD:在 windows 10 pro x64 21h2 上测试
更新:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s /f *jre* >nul 2>&1 & IF %errorlevel% == 0 (echo OK) else (echo FAIL)
您可以使用以下命令行查找文件“java.exe”
假设Java安装在C盘。否则,您可以在命令中更改驱动器号。
如果要遍历每个驱动器,并在找到结果后直接停止,可以使用以下 powershell 命令:
嗨,请参阅下面的批处理文件。这在重新启动之前有效,它从注册表中提取安装路径并将其添加到当前 cmd 进程的搜索路径中。
顺便说一句,较新的 OpenJDK 17 https://docs.microsoft.com/en-us/java/openjdk/download完全可以按照您的意愿工作。不需要花哨的东西。
如果您想测试是否在 Windows 中安装了某些东西,则查询卸载 reg 键是正确的方法。它对其他应用程序也很有用。
该示例是使用 Microsoft 软件包 reg 键制作的,可以根据条目的不同而有所不同,但我相信您可以轻松采用它。
这是 jre-8u341-windows-x64.exe 的示例