我使用下面的命令附加一个路径到windows系统path变量:
setx PATH "%PATH%;%ProgramFiles%MySQLMySQL Server 5.5bin"
工作正常
我的问题是:如何将路径(%ProgramFiles%MySQLMySQL Server 5.5bin在这种情况下)附加到系统path变量中,同时还检查它是否已经存在,而不是添加它两次,如果它这样做?
@echo off
setlocal EnableDelayedExpansion
set "pathToInsert=%ProgramFiles%MySQLMySQL Server 5.5bin"
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添加到path,只需将其替换为您想要使用的内容。当然,如果你不想让消息出现,你可能想要删除回显行或禁用所有的回显。