为什么在 Windows 10 中所有命令后都必须输入 .exe?

为什么在 Windows 10 中所有命令后都必须输入 .exe?

使用 Windows 10 命令提示符,我必须.exe在几乎任何命令后输入才能使其工作。例如,

>ping google.com
'ping' is not recognized as an internal or external command,
operable program or batch file.

>ping.exe google.com
Pinging google.com [216.58.217.46] with 32 bytes of data:
Reply from 216.58.217.46: bytes=32 time=11ms TTL=55

>where java
'where' is not recognized as an internal or external command,
operable program or batch file.

>where.exe java
INFO: Could not find files for the given pattern(s).

>where.exe java.exe
C:\ProgramData\Oracle\Java\javapath\java.exe

我在使用 Android Studio 运行 SDK 管理器时遇到了问题,我怀疑这与此有关。此外,这很烦人,我想知道它是否会破坏其他脚本。我不知道这种情况是什么时候开始发生的,但想不出我更改过的任何设置会导致这种情况。

答案1

您的环境变量中可能%PathExt%含有垃圾——这就是命令执行程序知道应该尝试哪些文件扩展名。通常其内容应为:

C:\Users\Mantas>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

使用sysdm.cpl→ 高级 → 环境变量检查并修复它。

答案2

我刚刚在 Windows 7 上遇到了这个问题,并通过重新排序路径解决了这个问题%PATH%

它看起来像这样:

C:\Program Files\Java\jre1.8.0_101\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows

我必须将其改为:

C:\Windows\system32;C:\Windows;C:\Program Files\Java\jre1.8.0_101\bin;C:\ProgramData\Oracle\Java\javapath

系统路径需要首先出现。我怀疑是 JRE 安装程序搞乱了这一切。

编辑:根据@DavidPostill(下面的评论)的说法,这个解决方案只是巧合,一定是其他东西发生了变化,解决了我遇到的问题。我尝试将其改回%PATH%以前的状态,问题没有再次出现,所以他似乎是对的。

相关内容