@echo off
setlocal EnableExtensions DisableDelayedExpansion
setx JAVA_HOME "D:\a_soft\a_green\java\jdk\17"
setx MAVEN_HOME "D:\a_soft\a_green\java\maven"
setx ORACLE_HOME "D:\a_soft\a_green\a_lib\oracle\instantclient_19_8"
setx NLS_LANG "AMERICAN_AMERICA.AL32UTF8"
set "new_path=%%JAVA_HOME%%\bin"
set "already_added=0"
for /f "tokens=2,*" %%a in ('reg query HKCU\Environment /v PATH ^| find /i "PATH"') do (
set "user_path_var=%%b"
)
if "%user_path_var:~-1%"==";" set "user_path_var=%user_path_var:~0,-1%"
echo User PATH variable: %user_path_var%
for %%i in ("%user_path_var:;=" "%") do (
if /i "%%~i"=="%new_path%" (
set "already_added=1"
)
)
if %already_added%==0 (
setx PATH "%user_path_var%;%new_path%"
echo %new_path% add ok.
) else (
echo %new_path% already exists in user PATH variable.
)
set "new_path=%%MAVEN_HOME%%\bin"
set "already_added=0"
for /f "tokens=2,*" %%a in ('reg query HKCU\Environment /v PATH ^| find /i "PATH"') do (
set "user_path_var=%%b"
)
if "%user_path_var:~-1%"==";" set "user_path_var=%user_path_var:~0,-1%"
echo User PATH variable: %user_path_var%
for %%i in ("%user_path_var:;=" "%") do (
if /i "%%~i"=="%new_path%" (
set "already_added=1"
)
)
if %already_added%==0 (
setx PATH "%user_path_var%;%new_path%"
echo %new_path% add ok.
) else (
echo %new_path% already exists in user PATH variable.
)
endlocal
pause
注:以下取自gpt,不要全信
一、添加新环境变量
要在BAT文件中添加名为 JAVA_HOME
,值为 D:\a_soft\a_green\java\jdk\8
的用户环境变量,您可以按照以下步骤进行操作:
-
打开记事本或任何文本编辑器。
-
输入以下命令:
setx JAVA_HOME "D:\a_soft\a_green\java\jdk\8" /m
/m
参数指定将变量添加到用户环境变量中。 -
将此命令保存为
.bat
文件。例如,您可以将其保存为set_java_home.bat
。 -
双击 BAT 文件以运行该命令。此命令将添加名为
JAVA_HOME
,值为D:\a_soft\a_green\java\jdk\8
的变量到用户环境变量中。
请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。
--设置到了系统变量,我希望在用户变量
如果您想将变量添加到用户环境变量而不是系统环境变量,请按照以下步骤操作:
-
打开记事本或任何文本编辑器。
-
输入以下命令:
setx JAVA_HOME "D:\a_soft\a_green\java\jdk\8"
此命令没有指定
/m
参数,这意味着它将变量添加到用户环境变量中。 -
将此命令保存为
.bat
文件。例如,您可以将其保存为set_java_home.bat
。 -
双击 BAT 文件以运行该命令。此命令将添加名为
JAVA_HOME
,值为D:\a_soft\a_green\java\jdk\8
的变量到用户环境变量中。
请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。
网友总结得很好
主要是SET和SETX这个两个命令:
SETX 永久设置用户环境变量
SETX /M 永久设置系统环境变量
SET 临时设置用户环境变量
SET /M 临时设置系统环境变量
二、添加进PATH
要将 %JAVA_HOME%/bin
添加到用户环境变量的 PATH 变量中,但只有当该路径尚不存在于 PATH 变量中时,请按照以下步骤操作:
-
打开记事本或任何文本编辑器。
-
输入以下命令:
@echo off set "new_path=%JAVA_HOME%\bin" set "path_var=%PATH%" if "%path_var:~-1%"==";" set "path_var=%path_var:~0,-1%" if not "%path_var%"=="%path_var:%new_path%;=%" ( echo %new_path% already exists in PATH ) else ( setx PATH "%PATH%;%new_path%" echo %new_path% has been added to PATH )
此命令首先检查 PATH 变量是否以分号结尾。如果是,则删除分号以避免创建空项。然后,它使用
%new_path%;
的出现次数来检查 PATH 是否已经包含%JAVA_HOME%\bin
。如果是,则打印消息指示该路径已存在于 PATH 中。如果没有,则使用setx
命令将%JAVA_HOME%\bin
添加到 PATH 变量中,并打印消息指示该路径已添加到 PATH 中。 -
将此命令保存为
.bat
文件。例如,您可以将其保存为set_java_path.bat
。 -
双击 BAT 文件以运行该命令。此命令将在 PATH 变量中添加
%JAVA_HOME%\bin
,但只有当该路径尚不存在于 PATH 变量中时。
请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。