保存以下内容为.bat后缀脚本,用管理员身份运行,即可速切环境变量。
暂时不用的环境注释掉,将要切入的环境取消注释,或新写一个。
bash
REM echo off
:: 设置路径
@REM set "FWPATH=D:\NK6000_20191108_pxf"
@REM set "FWCCPATH=D:\NK6000_20191108_pxf"
@REM set "FWSRCPATH=D:\svn\nk6000_pxf\PowerSys_pxf"
@REM set "QTDIR=D:\Qt3_3_8_x86"
@REM set "QMAKESPEC=D:\Qt3_3_8_x86\qmake"
@REM set "FWLIBXLPATH=D:\libxl_x86"
@REM set "FWPATH=D:\NK8000_20230908_hj"
@REM set "FWCCPATH=D:\NK8000_20230908_hj"
@REM set "FWSRCPATH=D:\svn\nk9000_huju-AIX\trunk\PowerSys_EN_16Line"
@REM set "QTDIR=D:\Qt4_8_x64-shared"
@REM set "QMAKESPEC=D:\Qt4_8_x64-shared\qmake"
@REM set "FWLIBXLPATH=D:\libxl_x64"
set "FWPATH=D:\NK8500_20260416_kmj"
set "FWCCPATH=D:\NK8500_20260416_kmj"
set "FWSRCPATH=D:\svn\nk8500_kmj\PowerSys"
set "PSLANG=zh"
set "QTDIR=D:\Qt4_8_x64-shared"
set "QMAKESPEC=D:\Qt4_8_x64-shared\qmake"
set "OPENSSLDIR=D:\Qt4_8_x64-shared\openssl"
set "DM_HOME=D:\dmdbms"
set "FWLIBXLPATH=D:\libxl_x64"
@REM :: 修改系统环境变量,写一条广播一条,概率卡顿,已废弃
@REM setx FWPATH "%FWPATH%" /M
@REM setx FWCCPATH "%FWCCPATH%" /M
@REM setx FWSRCPATH "%FWSRCPATH%" /M
@REM setx PSLANG "%PSLANG%" /M
@REM setx QTDIR "%QTDIR%" /M
@REM setx QMAKESPEC "%QMAKESPEC%" /M
@REM setx OPENSSLDIR "%OPENSSLDIR%" /M
@REM setx DM_HOME "%DM_HOME%" /M
@REM setx FWLIBXLPATH "%FWLIBXLPATH%" /M
:: 修改系统环境变量(reg add 直接写注册表,跳过 setx 的 WM_SETTINGCHANGE 广播,避免逐条卡顿)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v FWPATH /t REG_SZ /d "%FWPATH%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v FWCCPATH /t REG_SZ /d "%FWCCPATH%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v FWSRCPATH /t REG_SZ /d "%FWSRCPATH%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PSLANG /t REG_SZ /d "%PSLANG%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v QTDIR /t REG_SZ /d "%QTDIR%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v QMAKESPEC /t REG_SZ /d "%QMAKESPEC%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v OPENSSLDIR /t REG_SZ /d "%OPENSSLDIR%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v DM_HOME /t REG_SZ /d "%DM_HOME%" /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v FWLIBXLPATH /t REG_SZ /d "%FWLIBXLPATH%" /f
:: 广播FWPATH环境变量变更(随便哪个都行),触发刷新所有环境变量,使 reg add 写入的全部注册表值立即生效
powershell -NoProfile -Command "[Environment]::SetEnvironmentVariable('FWPATH',[Environment]::GetEnvironmentVariable('FWPATH','Machine'),'Machine')"
:: 提示用户修改成功
echo 系统环境变量 FWPATH 已修改为: %FWPATH%
echo 系统环境变量 FWCCPATH 已修改为: %FWCCPATH%
echo 系统环境变量 FWSRCPATH 已修改为: %FWSRCPATH%
echo 系统环境变量 PSLANG 已修改为: "%PSLANG%"
echo 系统环境变量 QTDIR 已修改为: %QTDIR%
echo 系统环境变量 QMAKESPEC 已修改为: %QMAKESPEC%
echo 系统环境变量 OPENSSLDIR 已修改为: %OPENSSLDIR%
echo 系统环境变量 DM_HOME 已修改为: %DM_HOME%
echo 系统环境变量 FWLIBXLPATH 已修改为: %FWLIBXLPATH%
:: 等待用户按键后退出
pause