系统与用户PATH环境变量... winmerge仅在我将路径添加到用户PATH时才起作用

Mil*_*ila 34 windows path environment-variables winmerge

如果我添加C:\Program Files (x86)\WinMerge到User PATH变量(通过右键单击计算机 - >高级系统设置 - >环境变量),一旦我打开一个新的cmd shell,WinmergeU.exe就无法识别.如果我将该路径添加到System PATH变量,则会正确识别WinmergeU.exe.我虽然用户和系统之间没有区别,但是如果我在系统上设置它,所有用户都会看到它,而用户PATH是本地的.难道我做错了什么?

编辑1:

在下面您可以先看到C:\Program Files (x86)\WinMerge添加到System PATH变量(但不是用户)的情况,然后将其添加到User PATH变量(但不添加到System).在第一种情况下,Winmerge窗口正确启动(未显示),您可以看到路径由echo%PATH%命令显示.在第二种情况下,它不会启动,并且回路%PATH%不显示路径.(注意我在确认之前已经清楚地确认并在拍摄这些截图之前关闭了环境变量窗口,并且在更改PATH并按下确定之后我立即打开了一个新的cmd).这个问题可能与我的问题有关(echo%PATH%只扩展到系统还是扩展到用户变量?)但是因为它可能不是我发布了两个不同的问题.

系统

用户

Dav*_*nan 43

您必须弄错,或者机器出现环境问题.添加用户PATH环境变量会导致它合并到新进程的环境中.

更新:也许来自MSDN主题的关于环境变量的评论可能是相关的:

在Windows Server 2003上发现,一旦系统PATH传递1920个字符,用户PATH环境变量就不再与它合并以设置进程PATH环境变量,即使完整系统PATH(即使更大)将包含在进程PATH变量.

  • 我没做错......我做了三次......我确认并确认并在截取屏幕截图之前关闭了环境变量窗口,我在更改PATH并按下确定后立即打开了一个新的cmd,然后我重新打开了环境变量窗口仅用于截取屏幕截图.我看不出我能做错什么.Echo%PATH%仅显示系统路径. (6认同)
  • 我发布了截图.它对我的电脑产生了影响. (3认同)
  • 答对了!是的,在你指出路径太长之后我才发现它.摆脱一些条目解决了这个问题.很烦人.谢谢 (2认同)