1

Моя переменная PATH в Windows 7 отображает различное содержимое, если я ввожу команду PATH в командной строке, или если я иду через диалоговое окно переменных среды. Более того, переменная PATH в некоторый момент дублируется.

Переменная PATH @ командная строка:

 1 C:\soft\Python27\;
 2 C:\soft\Python27\Scripts;
 3 C:\ProgramData\Oracle\Java\javapath;
 4 C:\Windows\system32;
 5 C:\Windows;
 6 C:\Windows\System32\Wbem;
 7 C:\Windows\System32\WindowsPowerShell\v1.0\;
 8 C:\Anaconda;
 9 C:\Anaconda\Scripts;
10 C:\Program Files\Java\jdk1.8.0_65\bin;
11 C:\Program Files (x86)\Skype\Phone\;
12 C:\Program Files\MATLAB\R2014a\runtime\win64;
13 C:\Program Files\MATLAB\R2014a\bin;
14 C:\Program Files\MATLAB\R2014a\polyspace\bin;
15 C:\soft\Python27\;
16 C:\soft\Python27\Scripts;
17 C:\ProgramData\Oracle\Java\javapath;
18 C:\Windows\system32;
19 C:\Windows;
20 C:\Windows\System32\Wbem;
21 C:\Windows\System32\WindowsPowerShell\v1.0\;
22 C:\Anaconda;
23 C:\Anaconda\Scripts;
24 C:\Program Files\Java\jdk1.8.0_65\bin;
25 C:\Program Files (x86)\Skype\Phone\;
26 C:\Program Files\MATLAB\R2014a\runtime\win64;
27 C:\Program Files\MATLAB\R2014a\bin;
28 C:\Program Files\MATLAB\R2014a\polyspace\bin;
29 K:\sw\Git\cmd;

Переменная PATH @ через диалоговое окно переменных среды

 1 C:\soft\Python27\;
 2 C:\soft\Python27\Scripts;
 3 C:\ProgramData\Oracle\Java\javapath;
 4 C:\Windows\system32;
 5 C:\Windows;
 6 C:\Windows\System32\Wbem;
 7 C:\Windows\System32\WindowsPowerShell\v1.0\;
 8 C:\Anaconda;
 9 C:\Anaconda\Scripts;
10 C:\Program Files\Java\jdk1.8.0_65\bin;
11 C:\Program Files (x86)\Skype\Phone\;
12 C:\Program Files\MATLAB\R2014a\runtime\win64;
13 C:\Program Files\MATLAB\R2014a\bin;
14 C:\Program Files\MATLAB\R2014a\polyspace\bin;
15 K:\sw\Git\cmd;

В командной строке первые 14 записей дублируются.

Вопрос: как я могу это исправить?

1 ответ1

1

Существует два набора переменных среды: пользовательские и системные:

    Диалоговое окно переменной среды

Системные переменные одинаковы для всех пользователей компьютера, и для их изменения требуется привилегия администратора.  Пользовательские переменные индивидуальны для каждого пользователя и могут быть свободно изменены пользователем.

Для большинства переменных, если есть системная переменная и пользовательская переменная с тем же именем, пользовательская переменная просто переопределяет системную.  Но PATH - это особый случай - значение переменной, установленной в CMD, является пользовательской переменной, добавляемой (в конец) к системной переменной (с точкой с запятой (;), вставленной, если необходимо).

Похоже, вы сделали общую ошибку - вы скопировали полное значение PATH в пространство для вашей отдельной PATH в диалоговом окне переменных среды.  (Или, возможно, какая-то глючная программа сделала это для вас.)  Это привело к дублированию системного значения PATH в вашей отдельной PATH , поэтому теперь вы получаете комбинированное / дублированное значение при каждом запуске процесса командной строки.  Решение состоит в том, чтобы просто отредактировать вашу индивидуальную PATH чтобы удалить первые 14 записей (т. Е. Все, кроме K:\sw\Git\cmd).  Эти 14 имен каталогов находятся в системном значении PATH , поэтому вы все равно получите их в своем значении PATH (но только один раз).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .