如何在系统路径变量中插入一个新的路径,如果它不存在的话



我使用下面的命令附加一个路径到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,只需将其替换为您想要使用的内容。当然,如果你不想让消息出现,你可能想要删除回显行或禁用所有的回显。

相关内容

  • 没有找到相关文章

最新更新