win10 bat文件设置环境变量

时间:2025-03-20 11:54:21
@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 的用户环境变量,您可以按照以下步骤进行操作:

  1. 打开记事本或任何文本编辑器。

  2. 输入以下命令:

    setx JAVA_HOME "D:\a_soft\a_green\java\jdk\8" /m

    /m 参数指定将变量添加到用户环境变量中。

  3. 将此命令保存为 .bat 文件。例如,您可以将其保存为 set_java_home.bat

  4. 双击 BAT 文件以运行该命令。此命令将添加名为 JAVA_HOME,值为 D:\a_soft\a_green\java\jdk\8 的变量到用户环境变量中。

请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。

--设置到了系统变量,我希望在用户变量

如果您想将变量添加到用户环境变量而不是系统环境变量,请按照以下步骤操作:

  1. 打开记事本或任何文本编辑器。

  2. 输入以下命令:

    setx JAVA_HOME "D:\a_soft\a_green\java\jdk\8"

    此命令没有指定 /m 参数,这意味着它将变量添加到用户环境变量中。

  3. 将此命令保存为 .bat 文件。例如,您可以将其保存为 set_java_home.bat

  4. 双击 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 变量中时,请按照以下步骤操作:

  1. 打开记事本或任何文本编辑器。

  2. 输入以下命令:

    @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 中。

  3. 将此命令保存为 .bat 文件。例如,您可以将其保存为 set_java_path.bat

  4. 双击 BAT 文件以运行该命令。此命令将在 PATH 变量中添加 %JAVA_HOME%\bin,但只有当该路径尚不存在于 PATH 变量中时。

请注意,为了使新添加的变量生效,您需要注销并重新登录到计算机上的用户帐户。

相关文章