通过bat脚本批处理设置JAVA_HOME, TOMCAT_HOME环境变量。
xp以前通过 wmic ENVIRONMENT来设置环境变量,不过这种设置方式没办法立即生效。
vista以后通过 setx 设置用户环境变量, 加入 -M参数可设置系统环境变量,并且是立即生效(新开命令窗口,原命令窗口不生效)
@echo off:: TODO:设置MC平台环境变量color 02::设置java的安装路径set javaPath=%~dp0jdk8::设置tomcat的安装路径set tomcatPath=%~dp0tomcat-7.0.94 :: 开始获取系统版本if /i not "%os%"=="Windows_NT" (set TheOS=not window os&set TheBit=) else (ver | find "4.0" > nul && set TheOS=Windows 95 && goto newOSProcessver | find "4.10"> nul && set TheOS=Windows 98 && goto oldOSProcessver | find "4.90"> nul && set TheOS=Windows me && goto oldOSProcessver | find "3.51"> nul && set TheOS=Windows NT35 && goto oldOSProcessver | find "5.0" > nul && set TheOS=Windows 2000 && goto oldOSProcessver | find "5.1" > nul && set TheOS=Windows XP && goto oldOSProcessver | find "5.2" > nul && set TheOS=Windows 2003 && goto oldOSProcessver | find "6.0" > nul && set TheOS=Windows Vista && goto newOSProcessver | find "6.1" > nul && set TheOS=Windows 7 && goto newOSProcessver | find "6.2" > nul && set TheOS=Windows 8 && goto newOSProcessver | find "10.0"> nul && set TheOS=Windows 10 && goto newOSProcessset TheBit=x%PROCESSOR_ARCHITECTURE:~-2%)goto UnknownVersion::未知操作系统处理:UnknownVersionecho unsupport os..goto end::windowsxp以前版本的os环境变量处理,通过这种设置方式貌似在window7下不会立即生效,在xp中会不会立即生效未知。:oldOSProcessecho your os:%TheOS% %TheBit% go to oldOSProcess::如果有的话,先删除JAVA_HOMEwmic ENVIRONMENT where "name='JAVA_HOME'" delete::如果有的话,先删除TOMCAT_HOMEwmic ENVIRONMENT where "name='TOMCAT_HOME'" delete::创建JAVA_HOMEwmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"::创建TOMCAT_HOMEwmic ENVIRONMENT create name="TOMCAT_HOME",username="<system>",VariableValue="%tomcatPath%"echo JAVA_HOME: %javaPath%echo TOMCAT_HOME: %tomcatPath%goto end::windows7,Vista 以后版本执行以下处理,立刻生效。:newOSProcessecho your os:%TheOS% %TheBit% go to newOSProcesssetx "JAVA_HOME" "%javaPath%" -Msetx "TOMCAT_HOME" "%tomcatPath%" -Mecho JAVA_HOME: %javaPath%echo TOMCAT_HOME: %tomcatPath%goto end:endpause