命令提示符启动带有 .exe 扩展名的“java.exe”,但不启动没有 .exe 扩展名的“java.exe”

命令提示符启动带有 .exe 扩展名的“java.exe”,但不启动没有 .exe 扩展名的“java.exe”

今天我在使用 cmd 提示符在 Windows 上运行应用程序时遇到一个问题。当我尝试运行程序时,我应该在程序名称末尾添加扩展名,以便 cmd 可以识别它。

例如,当我运行“java -version”时出现以下错误:“Java”未被识别为内部或外部命令

但是当我将 .exe 添加到程序“java.exe -version”时,我得到了安装在我的计算机上的 java 版本。

有没有什么办法可以解决这个问题,因为很多其他程序依赖于没有 exe 扩展名的 java 命令。

提前致谢

答案1

路径定义得很好。我通过将 .EXE 添加到 PATHEXT 环境变量解决了我的问题。

非常感谢你们的回答

答案2

PATHEXT如果您的用户变量覆盖了系统PATHEXT变量,而没有扩展系统PATHEXT变量,也会出现此问题

%PATHEXT%在用户变量中添加前缀变量PATHEXT即可解决此问题。

在此处输入图片描述

答案3

接受的答案是正确的(PATHEXT问题)。以防其他人遇到这个问题,就我的情况(Windows 8.1)而言,情况PATHEXT如下:

.COM; .EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

换句话说,.EXE 之前有一个空格,无法识别扩展名。删除空格有帮助,所以我现在能够java -version再次运行它。

相关内容