管理员和非管理员模式下运行CMD时,Windows的PATH变量不同。

3
我刚安装了Scala,但无法从命令行调用它。我在控制面板的环境变量中检查了我的路径,并看到了scala文件夹。如果我在该文件夹内的cmd中键入 scala ,那么它就可以正常工作。
于是我尝试在Windows cmd中键入 echo%PATH%来查看是否有问题。如果运行普通命令窗口,则几乎得到相同的路径,只是缺少scala路径项。如果我运行命令行(管理员),则回显的路径与环境变量版本匹配。在此管理员设置下, scala 可以正常工作。
没有定义用户路径变量,只有系统变量。
我以前从未见过这种情况。为什么管理员路径和非管理员路径之间会有区别?如何从非管理员命令行访问scala路径项?
谢谢!

因为Windows有两个路径,一个是系统级别的,另一个是每个用户的。可能管理员用户在其路径中有Scala相关内容,而您的其他帐户则没有。 - Marc B
你应该将Scala的路径设置在系统路径中,这样适用于所有人。 - Jean-François Fabre
如果您只想为一个用户设置,将其放入用户路径中。Windows会将用户路径附加到系统路径中。 - lit
你可能只需要重新启动。 - Harry Johnston
我知道用户路径和系统路径在环境变量窗口中是可见的。顶部窗口是用户变量空间,底部是系统空间。如果它出现在底部窗口中,则应该是系统路径。那么,我假设,在管理员模式下或非管理员模式下,在命令行中回显路径时,它应该会显示出来,对吗? - buggaby
1个回答

1
我刚遇到了同样的问题,它是由于环境变量未被刷新所引起的。重新启动电脑可解决,但也有一种不需要重新启动就能刷新环境变量的方法。
  1. 打开命令提示符窗口
  2. 输入 set PATH=C
  3. 关闭并重新打开命令提示符窗口
  4. 输入 echo %PATH% 检查是否刷新成功
在我的 Windows 10 中,这个方法有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接