6

На моем компьютере с Windows 7 с помощью инструмента « Свойства системы»> «Переменные среды» я пытаюсь добавить %USERPROFILE%\Bin к системной переменной PATH . По какой-то причине это не работает, хотя %SystemRoot%\system32 работает нормально.

Когда я пытаюсь запустить команды из консоли, файлы в моей папке Bin не обнаруживаются, даже если файлы в папке System32 найдены.

Единственное различие между UserProfile и SystemRoot которое я вижу, состоит в том, что первая является пользовательской переменной, а вторая - системной.

echo %USERPROFILE%\Bin c:\Users\zano , и если я явно добавлю c:\Users\zano\Bin , все будет работать нормально.

В чем здесь проблема?

3 ответа3

12

Системные переменные устанавливаются перед пользовательскими переменными. Следовательно, во время установки системных переменных ни одна из ваших пользовательских переменных еще не существует.

Возможно, вы сможете создать новую пользовательскую переменную с именем PATH и установить для нее значение « %USERPROFILE%\Bin;%PATH% ». Я не проверял это, но он может делать то, что вы хотите. Однако USERPROFILE все еще не может быть установлен, поэтому вам может потребоваться жестко запрограммировать путь в пользовательскую переменную, но по крайней мере это не повлияет на других пользователей компьютера.

5

Стивен Дженнингс был прав, но только немного ясности. В Windows, если существует переменная пользователя «Путь», она автоматически добавляется к системной переменной «Путь». Пользовательской переменной Path разрешено использовать% UserProfile%, в то время как системная переменная получает буквенный текст «% UserProfile%».

Поэтому создание пользовательской переменной "Путь" и установка ее в% UserProfile%\Bin - все, что нужно.

Пример 1:

Путь к системной переменной = C:\WINDOWS\ Путь к пользовательской переменной =% UserProfile%\ Bin

Путь пользователя будет

C:\WINDOWS; C:\Users\User\Bin

Пример 2:

Путь к системной переменной = C:\WINDOWS\;% UserProfile%\Bin

Путь к пользовательской переменной вообще не задан.

Путь пользователя будет

C:\WINDOWS\;% USERPROFILE%\Bin

Вы не хотите Пример 2.

4

Подобно тому, что сказал Стивен, но

Создайте переменную среды пользователя с именем PATH. В ней вы можете правильно использовать% USERPROFILE% - USERPROFILE раскрывается до обработки пользовательского раздела. Этот пользовательский PATH будет автоматически добавлен в системный путь, поэтому нет необходимости добавлять часть% PATH%.

например

Системная переменная: PATH = c:\path1 Пользовательская переменная PATH =% USERPROFILE%\path2

Результирующий путь: PATH = c:\path1; C:\Users\myuser\path2

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