bat/cmd file to set java home path
batch-file, cmd, windows
Solution
Solved it by:
@echo off
echo Setting JAVA_HOME
setx -m JAVA_HOME "C:\Program Files\Java\jdk1.8.0"
echo JAVA_HOME: %JAVA_HOME%
echo setting PATH
setx -m PATH "%Path%;%JAVA_HOME%\bin"
echo PATH: %PATH%
echo Display java version
java -version
pause
Problem
I want to easily switch between different java versions and therefore want to set home path and path at system level in enviroment variables by running a bat/cmd file. My .bat file looks like this: ``` @echo off echo Setting JAVA_HOME set JAVA_HOME=C:\Program Files\Java\jdk1.8.0 echo JAVA_HOME: %JAVA_HOME% echo setting PATH set PATH=%JAVA_HOME%\bin;%PATH% echo PATH: %PATH% ``` If i type echo %JAVA_HOME% in same commandprompt then it prints the path to jdk1.8.0 but not if i open up a new commandprompt, also if i look in enviroment variables it is not listed there. EDIT: I've also tried ``` @echo off echo Setting JAVA_HOME setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0" echo JAVA_HOME: %JAVA_HOME% echo setting PATH setx PATH "%JAVA_HOME%\bin;%PATH%" echo PATH: %PATH% echo Display java version java -version ``` And this works, at the user level, but not at the system level.