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

时间:2011-12-31 01:40:57

标签: variables windows-7 path environment

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

所以,我手动在PATH中添加了整个路径。 “C:\行家\ BIN; ...休息” 它能够找到“mvn”并执行它。

有人可以帮助我做错了吗?

14 个答案:

答案 0 :(得分:73)

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

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

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

答案 1 :(得分:52)

我有完全相同的问题,要解决它,你可以做两件事之一:

  • 将所有变量放入系统变量而不是用户,并添加您想要的变量

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

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

答案 2 :(得分:35)

我的问题变得非常简单:

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

答案 3 :(得分:15)

在路径中的项目之间使用%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;

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

答案 4 :(得分:5)

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

答案 5 :(得分:5)

如果在PATH窗口中有任何错误,将无声地忽略它。像%PATH%或路径中的项之间的空格会破坏它。警告

答案 6 :(得分:4)

另外值得确保您以管理员身份使用命令提示符 - 我的工作机器上的系统锁定意味着在键入时无法找到刚刚报告的mvn标准cmd mvn --version

使用点击'开始>所有节目>配件',右键点击'命令提示符'并选择以管理员身份运行'。

答案 7 :(得分:3)

如果在将用户的PATH变量连接到环境PATH变量后,PATH值太长,Windows将无法连接用户PATH变量。

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

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

答案 8 :(得分:1)

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

同时从用户到系统删除变量,仅在用户变量

上包含该路径

答案 9 :(得分:1)

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

我在下面用过......

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

setx PATH %JAVA_HOME%\bin

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

答案 10 :(得分:1)

我在Windows 10中遇到了这个问题,在我关闭" explorer.exe"之后它似乎得到了解决。在任务管理器中。

答案 11 :(得分:1)

在Windows 7中。

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

// works fine
D:\php\php-7.2.6-nts

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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