如何将新path插入到系统pathvariables中(如果它尚未存在)

我正在使用下面的命令追加一个path到Windows系统PATHvariables:

setx PATH "%PATH%;%ProgramFiles%\MySQL\MySQL Server 5.5\bin" 

它工作正常。

我的问题是:

如何在系统PATHvariables中添加一个path(%ProgramFiles%\ MySQL \ MySQL Server 5.5 \ bin)到系统PATHvariables中,同时检查它是否已经存在,如果没有添加两次?

 @echo off setlocal EnableDelayedExpansion set "pathToInsert=%ProgramFiles%\MySQL\MySQL server 5.5\bin" rem Check if pathToInsert is not already in system path if "!path:%pathToInsert%=!" equ "%path%" ( setx PATH "%PATH%;%pathToInsert%" ) 

我认为最简单的方法是检查它是否存在,如果存在则附加到它,或者如果不存在则直接写入它。 从你的标签我假设你正在尝试从批处理文件做到这一点。 这个页面似乎包含一个完全符合您的需求的例子:

 IF "%PATH%" == "" GOTO NOPATH :YESPATH @ECHO The PATH environment variable was detected. PATH=C:\DOS;%PATH% GOTO END :NOPATH @ECHO The PATH environment variable was NOT detected. PATH=C:\DOS; GOTO END :END 

这个批处理代码会将C:\ DOS添加到路径中,只需将其替换为您想要使用的即可。 当然,如果你不想让消息出现,你可能想要删除回显行或者全部禁用回显。