需要设置和判断的是系统环境变量
时间: 2023-12-01 10:02:33 浏览: 26
要设置和判断系统环境变量,可以使用`reg`命令来操作Windows注册表。下面是一个示例代码:
```batch
@echo off
setlocal
rem 定义要设置的系统环境变量名和值
set VAR_NAME=MY_VAR
set VAR_VALUE=Hello World
rem 判断系统环境变量名是否存在
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME% >nul
if %errorlevel% equ 0 (
echo %VAR_NAME% 已经存在
rem 判断系统环境变量值是否存在
for /f "tokens=2*" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME%') do (
if "%%B"=="%VAR_VALUE%" (
echo 系统环境变量值已经存在:%VAR_NAME%=%VAR_VALUE%
) else (
echo 更新系统环境变量值:%VAR_NAME%=%VAR_VALUE%
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME% /t REG_SZ /d %VAR_VALUE% /f
)
)
) else (
echo %VAR_NAME% 不存在
rem 设置系统环境变量
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v %VAR_NAME% /t REG_SZ /d %VAR_VALUE% /f
echo 设置了新的系统环境变量:%VAR_NAME%=%VAR_VALUE%
)
endlocal
```
在上述代码中,首先定义了要设置的系统环境变量名和值。然后使用`reg query`命令查询注册表中是否存在指定的系统环境变量。如果存在,使用`for /f`命令获取当前环境变量的值,并与要设置的值进行比较。如果相同,则输出值已经存在的信息;如果不同,则使用`reg add`命令更新系统环境变量值。如果系统环境变量名不存在,则直接使用`reg add`命令设置新的系统环境变量,并输出设置成功的信息。