1

В командной строке Windows echo %PATH% видимому, объединяет систему и переменные пользователя PATH в таком порядке перед печатью. Это кажется разумным, но я также хотел бы иметь возможность печатать только системную переменную (или, альтернативно, только пользовательскую переменную).
Обратите внимание, что echo - всего лишь пример, я ожидаю, что он будет работать с любой другой командой.

Можно легко установить либо используя (или нет) флаг /M при выдаче команды SETX :

SETX PATH "D:\some\user\path"
^ sets the user variable PATH
SETX PATH "C:\some\system\path" /M
^ sets the system-wide variable PATH

Но оценка %PATH% таким способом не кажется простой (или даже возможной). Простой ввод %PATH% приводит к:

C:\some\system\path;D:\some\user\path

Можно ли получить только C:\some\system\path (или только D:\some\user\path)?

Я знаю о существовании интерфейса с графическим интерфейсом, который позволяет легко различать два. Однако я бы хотел решить эту задачу, используя только командную строку.

1 ответ1

1

Вы всегда можете запросить значения реестра напрямую:

for /f "skip=2 tokens=2*" %a in ('reg query HKCU\Environment /v PATH') do @echo %b

for /f "skip=2 tokens=2*" %a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH') do @echo %b

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