Command line Path系统变量在通过setx命令更新时获取重复值
我的below.bat文件将MySQL的bin目录添加到系统路径,尽管旧的路径值会重复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\
@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如何将用户的路径设置移动到系统变量中?