Command line Path系统变量在通过setx命令更新时获取重复值

Command line Path系统变量在通过setx命令更新时获取重复值,command-line,windows-7,system-variable,setx,Command Line,Windows 7,System Variable,Setx,我的below.bat文件将MySQL的bin目录添加到系统路径,尽管旧的路径值会重复 @echo off set pathMySQL=C:\xampp\mysql set p=%% setx MYSQL_HOME "%pathMySQL%" setx PATH "%p%MYSQL_HOME%p%\bin;%PATH%" 我希望执行后的路径值如下所示 %MYSQL\u HOME%\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\

我的below.bat文件将MySQL的bin目录添加到系统路径,尽管旧的路径值会重复

@echo off

set pathMySQL=C:\xampp\mysql
set p=%%

setx MYSQL_HOME "%pathMySQL%"
setx PATH "%p%MYSQL_HOME%p%\bin;%PATH%"
我希望执行后的路径值如下所示

%MYSQL\u HOME%\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\程序 文件\TortoiseSVN\bin

实际值如下-路径重复两次

%MYSQL\u HOME%\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\程序 文件\TortoiseSVN\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\程序 文件\TortoiseSVN\bin


我做错了什么?如何克服此问题?

我的系统路径中的重复值是由Windows 7中如何构建%PATH%造成的

%路径%=P1+P2

P1=机器的路径变量

P2=用户的路径变量


将P2清除为空将解决我的问题。

只需使用
setx路径“%%MYSQL\u HOME%%\bin;%PATH%”
。。。除此之外,这会将用户的路径设置移动到系统变量中,从而对机器上的所有其他用户产生不利影响。尽可能使用
pathman
而不是
setx
,或者使用更强大的语言(powershell、vbscript或cscript)直接操作注册表项。mod parent(*Harry Johnston)up.@mnemotronic,清除P2如何将用户的路径设置移动到系统变量中?