Змінні середовища мають різні значення залежно від запуску CMD.exe


4

У мене в Реєстрі є командна установка як асоціація з папками, тому я можу перемістити + клацнути правою кнопкою миші будь-яку папку і відкрити там рядок VS2010, замість того, щоб відкривати командний рядок і потім компакт-диск перейти до каталогу, в якому я працюю. Але це не працює ...

Налаштування:

JAVA_HOMEвстановлено C:\Program Files\Java\jdk1.7.0_04в Комп'ютер> Розширені налаштування системи> Змінні середовища ...

Коли я роблю наступне, виводиться правильне значення:

Пуск> Командний рядок Visual Studio (2010) ( %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC\vcvarsall.bat"" x86):

Вихід (правильний):

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_04

Але коли я роблю таке, використовується неправильне (старе) значення:

Shift + клацніть правою кнопкою миші папку, виберіть "Відкрити рядок VS2010 тут" ( cmd /k ""C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC\bin\vcvars32.bat" x86 && cd /d "%V" && title Visual Studio Command Prompt (2010)"у Реєстрі):

Вихід (неправильно) :

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

E:\Hg>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_27

Чому значення відрізняються ??? Звідки другий екземпляр читає ці значення?


Чи має значення це, якщо ви використовуєте і %comspec%в другому записі?
Der Hochstapler

@Oliver Salzburg:% comspec% не розширюється під час запуску з Реєстру. Я створив пакетний файл, який дзвонить %comspec%/k ""C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC\bin\vcvars32.bat" x86 && cd /d "%V" && title Visual Studio Command Prompt (2010)"і викликав його з Реєстру - дає таку ж (неправильну) поведінку, як і другий випадок вище.
Ян Кемп

Відповіді:


1

Зверніть увагу, що існує 2 набори змінних середовища. Один для користувача та один для всієї системи:

введіть тут опис зображення

Переконайтесь, що обидва відрегульовані. Іноді встановлюються користувацькі змінні, іноді - ні.


Для JAVA_HOME є лише 1 запис, і це пункт "Змінні системи".
Ян Кемп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.