【发布时间】:2013-06-18 21:48:25
【问题描述】:
我已尝试以下命令通过批处理文件将一些路径附加到系统路径变量:
setx PATH "%PATH%;C:\Program Files\MySQL\MySQL Server 5.5\bin"
我在上面运行批处理文件后检查了系统变量路径,上面的路径不在那里。
您可以在下面看到所有窗口Variable value 的内容:
C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMDAPP\bin\x86;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles (x86)\ATI Technologies\ATI.ACE\Core-Static;
我做错了什么?
【问题讨论】:
-
使用
/m开关将路径添加到系统路径变量而不是用户路径变量。见setx -
我相信此解决方案会将系统路径的副本放入用户路径中,因为 %PATH% 扩展为系统路径 + 用户路径,即对于系统路径 s,用户路径 u,然后是 setx PATH %PATH%;c:\foo 将导致用户路径 = s;u;c:\foo,因此 %PATH%== s;s;u;c:\foo。
-
在大多数答案中,新值都是用
SETX "%PATH%" /m设置的,但是如果PATH在两个系统路径(HKLM)中都有值,@Wil S 指出的问题仍然存在和用户路径(HKLU)。有些程序在安装时会设置 HKLU-PATH。为避免任何重复,您应该使用REG QUERY获取 PATH 值,然后添加新值。
标签: windows batch-file cmd system-variable setx