Windows 7环境变量在路径中不起作用

我正在尝试使用环境变量设置一些路径。我添加了一个环境变量“ MAVEN_HOME”,其值为“ C:\ maven”。然后在路径中添加了“%MAVEN_HOME%\ bin; ... rest”。当我键入“ echo $ MAVEN_HOME%”时,我得到正确的“ C:\ maven”打印在屏幕上。但是,当我在“ bin”目录中键入一个批处理文件“ mvn”时,找不到它。

因此,我在PATH中手动添加了整个路径。“ C:\ maven \ bin; ...休息”并且能够找到“ MVN”并执行它。

有人可以帮我做错什么吗?

jiminssy asked 2020-08-05T13:28:52Z
14个解决方案
74 votes

检查上一个路径和下一个路径之间是否有空格字符:

不正确:c:\path1; c:\Maven\bin\; c:\path2\

正确:c:\path1;c:\Maven\bin\;c:\path2\

Daniel Bonetti answered 2020-08-05T13:29:56Z
54 votes

我遇到了完全相同的问题,要解决此问题,您可以执行以下两项操作之一:

  • 将所有变量放在系统变量中,而不是用户中,然后将要添加的变量添加到PATH中

要么

  • 将所有变量放在用户变量中,然后在用户变量而不是在系统中创建或编辑PATH变量。 系统中的路径变量不会扩展用户变量。

如果以上各项都正确,但是问题仍然存在,则需要检查系统注册表,位于HKEY_CURRENT_USER \ Environment中,以确保“ PATH”键类型为REG_EXPAND_SZ(而非REG_SZ)。

pcmind answered 2020-08-05T13:29:28Z
37 votes

事实证明,我的问题很简单:

重新启动命令提示符,新变量应更新

kaybee99 answered 2020-08-05T13:30:20Z
15 votes

如%PATH%或路径中的项目之间有空格之类的东西都会破坏它。 被警告。

是的,包含空格的Windows路径会导致错误。 例如,一个应用程序将此添加到系统%PATH%变量定义的前面:

C:\Program Files (x86)\WebEx\Productivity Tools;C:\Sybase\IQ-16_0\Bin64;

这导致%PATH%中的所有路径都未在cmd窗口中设置。

我的解决方案是在需要的地方用双引号标出扩展路径变量:

"C:\Program Files (x86)\WebEx\Productivity Tools";C:\Sybase\IQ-16_0\Bin64;

因此,空格将被忽略,完整路径变量将被正确解析。

wmchrog answered 2020-08-05T13:31:02Z
5 votes

需要将%M2%和%JAVA_HOME%添加到USER变量中的PATH变量中,而不是SYSTEM变量中。

GordyII answered 2020-08-05T13:31:22Z
5 votes

如果在PATH窗口中根本没有任何错误,将无视它。 如%PATH%或路径中的项目之间有空格之类的东西都会破坏它。 被警告

Richard answered 2020-08-05T13:31:42Z
5 votes

同样值得确保您以管理员身份使用命令提示符-我的工作计算机上的系统锁定意味着键入时找不到刚刚报告的标准cmd mvnmvn --version

要使用,请单击“开始>所有程序>附件”,右键单击“命令提示符”,然后选择“以管理员身份运行”。

Daniel Freeman answered 2020-08-05T13:32:07Z
3 votes

如果在将用户的PATH变量串联到环境PATH变量之后PATH值太长,Windows将无提示地将用户PATH变量串联。

在安装新软件并将其添加到PATH之后,很容易发生这种情况,从而破坏了现有的已安装软件。 Windows失败!

最好的解决方法是在“控制面板”中编辑PATH变量之一,然后删除不需要的条目。 然后打开一个新的CMD窗口,查看是否所有条目都显示在“ echo%PATH%”中。

Anthony Hayward answered 2020-08-05T13:32:37Z
3 votes

为了解决这个问题,我使用了setx命令来尝试设置用户级别的变量。

我在下面用...

setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_92"

setx PATH %JAVA_HOME%\bin

注意:Windows尝试将提供的变量值附加到现有变量值。 因此,无需提供额外的%PATH%...之类的东西,例如%JAVA_HOME%\ bin;%PATH%

Venkateswara Rao answered 2020-08-05T13:33:05Z
2 votes

我在Windows 10中有此问题,在任务管理器中关闭“ explorer.exe”后,似乎可以解决。

xjdeng answered 2020-08-05T13:33:25Z
1 votes

我遇到了同样的问题,我通过从用户变量中删除PATHEXT来解决此问题。 它必须仅存在于带有.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC的系统变量中

还要从用户到系统删除变量,并且只在用户变量中包含该路径

Thakhani Tharage answered 2020-08-05T13:33:50Z
1 votes

在我的Windows 7中。

// not working for me
D:\php\php-7.2.6-nts\php.exe

// works fine
D:\php\php-7.2.6-nts
qskane answered 2020-08-05T13:34:09Z
0 votes

将path的值复制到记事本,并检查它是否与终端窗口中的echo%path%相对应,并根据需要进行更改。 然后删除旧的路径值,然后将记事本值粘贴回去。我假设某些安装程序输入的一些不可见字符损坏了路径值。

kees answered 2020-08-05T13:34:30Z
0 votes

确保正确设置了系统路径和用户路径。

Nikolay Frick answered 2020-08-05T13:34:50Z
translate from https://stackoverflow.com:/questions/8685699/windows-7-environment-variable-not-working-in-path