2013-11-26 3 views
7

Почему SET JAVA_HOME в этом файле bat не переопределяет переменную окружения JAVA_HOME?SET JAVA_HOME в файле bat bat windows не работает

someFile.bat

@ECHO OFF 
SET JAVA_HOME = Progra~2\Java\jdk1.6.0_23 
echo JAVA_HOME: %JAVA_HOME% 

ВЫВОД

JAVA_HOME: C:\Program Files (x86)\Java\jdk1.7.0_21 
+3

пространство перед '=' входит в имя переменной, так что вы не меняете 'переменную JAVA_HOME', но' JAVA_HOME_' (последнее подчеркивание является пробел) переменная –

+0

@MCND это был вполне приемлемый ответ ... – npocmaka

+0

@npocmaka: извините, я думаю, что оба они отвечают в то же время. Есть ли какие-то критерии для использования комментариев или ответов? Забудьте об этом, я его видел. Спасибо –

ответ

14

из-за дополнительного space.Try этого:

echo JAVA_HOME: %JAVA_HOME % 

пытаются установить JAVA_HOME так:

SET "JAVA_HOME=Progra~2\Java\jdk1.6.0_23" 
+0

Супер, только то, что мне нужно. – Blackvault