bat添加注册表

2023-07-08 14:35:02 浏览数 (16)

代码语言:javascript复制
setlocal EnableExtensions DisableDelayedExpansion
set mypath="�%"
setx JAVA_HOME "D:a_softa_greenjavajdk17"
setx MAVEN_HOME "D:a_softa_greenjavamaven"
setx ORACLE_HOME "D:a_softa_greena_liboracleinstantclient_19_8"
setx NLS_LANG "AMERICAN_AMERICA.AL32UTF8"
setx BOOST_INCLUDEDIR %mypath%cmakeboost_1_55_0_vc80boost_1_55_0_vc140
setx BOOST_LIBRARYDIR %mypath%cmakeboost_1_55_0_vc80boost_1_55_0_vc140stagelib

REM setx vs2019_v140_HOME "C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.16.27023binHostX64x64cl.exe"
rem setx vs2019_v140_HOME "C:Program Files (x86)Microsoft Visual Studio 14.0VCbin"
setx vs2019_v142_HOME "C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.29.30133binHostx64x64"
@echo %path% >> log.txt

@echo off

REM set pathStr=%path%
REM set "vs2019_v142=C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.29.30133binHostx64x64"

REM :Loop
REM for /f "delims=; tokens=1,*" %%a in ("%pathStr%") do (
  REM if "%%a"=="%vs2019_v142%" (
    REM echo %mingw%已经存在于环境变量中
    REM goto :eof
  REM )
  REM set pathStr=%%b
  REM goto Loop
REM )

REM set newPath="%path%;%vs2019_v142%"
REM echo %newPath%
REM setx Path %newPath% /m
REM echo %mingw%添加到环境变量中

REM pause>NUL

set "new_path=%%JAVA_HOME%%bin"
set "already_added=0"
for /f "tokens=2,*" %%a in ('reg query HKCUEnvironment /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 HKCUEnvironment /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=C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.29.30133binHostx64x64"
set "already_added=0"
rem HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment
for /f "tokens=2,*" %%a in ('reg query "HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment" /v PATH ^| find /i "PATH"') do (
	set "user_path_var=%%b"
	echo %%b>> loga.txt
)
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"
    )
	echo %%~i>> loga.txt
)
echo %already_added%
echo %user_path_var%
echo %new_path%
if %already_added%==0 (
    rem setx PATH "%user_path_var%;%new_path%"
	rem reg add HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment /v PATH /t REG_EXPAND_SZ /d %user_path_var%;%new_path% /f
	rem reg add HKLMSystemCurrentControlSetControlSession ManagerEnvironment /v "PATH" /t REG_EXPAND_SZ /d "%new_path%" /f
	reg add "HKLMSystemCurrentControlSetControlSession ManagerEnvironment" /v "Path" /d "%user_path_var%;%new_path%" /t REG_EXPAND_SZ /f
    rem echo %new_path% add ok.
	echo add ok.
) else (
    rem echo %new_path% already exists in user PATH variable.
	echo already exists.
)
pause>NUL
endlocal
pause

1 人点赞