Есть ли какой-либо инструмент командной строки, который можно использовать для редактирования переменных среды в Windows?
Было бы хорошо, если бы это был умный инструмент, например:
- Добавляя некоторый путь, скажем, к переменной PATH, и этот путь уже существует, он не должен удваивать эту запись.
- Вставка нового пути в переменную PATH должна быть возможна до / после некоторого другого пути или в определенном порядке (первый, седьмой, последний и т. Д.).
- Должна быть возможность изменить только часть значения переменной (в случае PATH данный путь из списка всех путей).
И последнее, но не менее важное: я хочу, чтобы мои изменения сохранялись между сессиями, поэтому простой SET не подлежит обсуждению ...
Для этого есть очень хороший графический инструмент под названием Path Editor, и мне нужно что-то вроде этого, но для командной строки.
windows
command-line
environment-variables
Петр Доброгост
источник
источник
Ответы:
Я не знаю ни одного инструмента, который делает это, но, возможно, вы можете использовать
reg
команду:читать текущий путь и
написать ваше новое значение.
Вам нужны права администратора для правильного доступа в HKLM. Если это проблема, попробуйте
HKCU\Environment
вместо этого изменить настройку пути пользователя .источник
Если вам нужен универсальный способ установить любую переменную среды и сохранить изменения, тогда setx.exe будет инструментом для использования. Он не может делать "умные" вещи, которые вы просите, хотя ...
setx.exe входит в состав Windows Vista или более поздней версии; Если вы используете более раннюю версию Windows, вы можете воспользоваться приведенной выше ссылкой для ее загрузки.
источник
Для текущей программы есть
path
:Тем не менее, это почти так же, как
set PATH
.Чтобы переменные среды сохранялись, вы должны отредактировать реестр или использовать его
setx
.источник
Я только что обнаружил возможность разрешать пользователям запускать диалог редактирования переменных среды без повышенных привилегий.
В меню «Пуск» выполните следующее:
источник
установить путь
(справочный набор)
источник
Возможно, вы захотите ознакомиться с коллекцией gtools: http://www.p-nand-q.com/gtools.html
Он предоставляет набор команд для командной строки, например
добавить текущий путь, например. Честно говоря, я не проверил это, так как с графическим интерфейсом у меня все в порядке.
Другие варианты:
Я полагаю, вместе с тем из этой коллекции вы получили несколько хороших инструментов. Который "находит исполняемые файлы в PATH".
Источник: http://op111.net/82/
источник
Я написал набор пакетных скриптов для этого. addpath.bat добавляет элементы в путь, rmpath.bat удаляет элементы из пути, а lpath.bat просто перечисляет путь. Но тогда мне потребовалось несколько сценариев поддержки, поэтому есть также chkpath.bat.
Это оказалось не тривиальным и потребовало tr.exe и cat.exe, пару утилит в стиле Unix. Причина не тривиальна: никаких обратных кавычек в cmd.exe (хотя вы можете использовать для циклов для этого) и короткие имена по сравнению с длинными именами.
addpath.bat:
ChkPath.bat:
lpath.bat:
источник
for
цикл может быть использован вместоtr
/cat
тоже.Path Manager (pathman.exe) из Windows Server 2003 Resource Kit Tools - самое близкое совпадение, которое я мог найти. Он был уже доступен в NT Resource Kit.
источник
setx.exe
setx
для общих переменных среды;pathman
специально для манипулирования (т.е. анализа ) пути.Как проверить, существует ли каталог в% PATH%? В Stack Overflow имеется выдающееся описание того, что делает редактирование PATH Windows трудным, а также командный файл для их преодоления. Выяснение того, как правильно использовать,
addpath.bat
потребовало немного практики, поскольку его структура вызовов была для меня новой, но это работает:и повторные выстрелы не добавят новый каталог, если он уже присутствует. Это не относится к постоянным изменениям в сеансах.
источник