@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
一、添加新环境变量
要在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 的变量到用户环境变量中。
请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。
二、添加进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 变量中时。
请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。
HKEY_CURRENT_USER\Environment Path
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Path
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\CMake 2.8\bin;