我正在使用最新的 Windows Terminal + Windows 11 + Powershell 7,突然遇到了一个非常奇怪的问题。在重启、关机等之后,我从 Windows 终端得到了非常奇怪的行为:
- 它没有从 PATH 变量中获取任何东西。虽然
$env:path.Split(";")
列出了它们,但所有必需的文件夹都包括 system32 和 windows。因此,ipconfig
举例来说,写这些让我The term inconfig is not recognizable
- 即使浏览到 \Windows\System32 并
ipconfig
在终端中写入也会让我The term ipconfig is not recognizable
- 启动它的唯一方法是导航到
system32
目录并添加 .exe,因此ipconfig.exe
。虽然它打开了,但它是在新窗口中打开的,因此毫无用处。所有其他命令也是如此,,,netstat
等dotnet
。
不确定这会是什么问题,有人遇到过类似的事情吗?
- 内置命令(如
dir
或)ls
按预期工作。 - 我尝试了另一个终端,例如 git bash,其一切如
ipconfig
预期般运行。
以下是我的路径供参考。我还删除了所有内容,只为了C:\Windows\System32
测试一下,但仍然得到了相同的行为,例如,ipconfig 没有启动,除非我添加了,.exe
它会在新窗口中启动。
C:\Ruby31-x64\bin;
C:\Ruby26-x64\bin;
C:\Program Files (x86)\nodejs;
C:\Program Files\Git\bin;
C:\Users\Yehia\scoop\shims;
C:\Users\Yehia\AppData\Local\Programs\Python\Python37\Scripts\;
C:\Users\Yehia\AppData\Local\Programs\Python\Python37\;
C:\Program Files (x86)\Android\sdk\tools;
C:\Program Files (x86)\Apache\ant-1.9.4\bin;
C:\Program Files (x86)\Android\sdk\platform-tools;
C:\Program Files\Oracle\VirtualBox;
C:\Python27;
C:\Python27\Scripts;
C:\Users\Yehia\AppData\Local\Microsoft\WindowsApps;
C:\Users\Yehia\AppData\Roaming\Composer\vendor\bin;
C:\xampp-8.1\php;
C:\Program Files\Microsoft VS Code\bin;
C:\Users\Yehia\AppData\Local\GitHubDesktop\bin;
C:\Gradle\gradle-4.8.1\bin;
C:\Users\Yehia\.dotnet\tools;
C:\Program Files\Oracle Instant Client;
C:\Users\Yehia.000\AppData\Local\GitHubDesktop\bin;
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
C:\Windows\System32\OpenSSH;
C:\Program Files\Ngrok;
%USERPROFILE%\.dotnet\tools;
C:\Stripe;
C:\Users\Yehia\AppData\Roaming\npm;
%JAVA_HOME%\bin;
C:\WINDOWS\system32;
C:\WINDOWS;
答案1
几个小时后,问题出在 PATHEXT 系统变量上。它应该是.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
。但是,似乎某个应用程序弄乱了它并将其更改为%PATHEXT;.RB%
,可能与 ruby 有关。