我正在使用以下命令将路径附加到 Windows 系统 PATH 变量:
setx PATH "%PATH%;%ProgramFiles%\MySQL\MySQL Server 5.5\bin"
它工作正常。
我的问题是:
如何将路径(在这种情况下为 %ProgramFiles%\MySQL\MySQL Server 5.5\bin )附加到系统 PATH 变量中,同时检查它是否不存在,如果存在则不添加两次?
我正在使用以下命令将路径附加到 Windows 系统 PATH 变量:
setx PATH "%PATH%;%ProgramFiles%\MySQL\MySQL Server 5.5\bin"
它工作正常。
我的问题是:
如何将路径(在这种情况下为 %ProgramFiles%\MySQL\MySQL Server 5.5\bin )附加到系统 PATH 变量中,同时检查它是否不存在,如果存在则不添加两次?
@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 添加到路径中,只需将其替换为您要使用的内容即可。当然,如果您不希望消息出现,您可能希望删除回显线或一起禁用回显。