Дополнительно
Добавление каталога в переменную среды PATH в Windows
Я пытаюсь добавить C:\xampp\php
в системную переменную окружения PATH
в Windows.
Я уже добавил ее с помощью диалогового окна "Переменные среды".
Но когда я набираю в консоли:
C:\>path
он не показывает новый каталог C:\xampp\php
:
PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;D:\Program Files\TortoiseSVN\bin
;D:\Program Files\Bazaar;C:\Program Files\Android\android-sdk\tools;D:\Program Files\
Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common
\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\
Microsoft Visual Studio\VC98\bin
У меня два вопроса:
- Почему это произошло? Есть ли что-то, что я сделал неправильно?
- Также, как мне добавить каталоги в переменную
PATH
с помощью консоли (и программно, с помощью пакетного файла)?
489
18
Вариант 1
После изменения
PATH
с помощью графического интерфейса закройте и снова откройте консольное окно.Это работает, потому что только программы, запущенные после изменения, увидят новый
PATH
.Вариант 2
Выполните эту команду в открытом командном окне:
Эта команда добавляет
C:\your\path\here\
к текущемуPATH
.Разбиваем ее на части:
set
- Команда, изменяющая переменные окружения cmd только для текущей сессии cmd; другие программы и система не затрагиваются.PATH=
- означает, чтоPATH
является переменной окружения, которую необходимо временно изменить.%PATH%;C:\your\path\here\
- Часть%PATH%
расширяется до текущего значенияPATH
, а затем к ней присоединяется;C:\your\path\here\
. Это становится новымPATH
.Вы можете постоянно добавить путь в
PATH
с помощью командыsetx
:Снимите флаг
/M
, если вы хотите установить пользовательскийPATH
вместо системногоPATH
.Примечания:
Команда
setx
доступна только в Windows 7 и более поздних версиях.Вы должны выполнять эту команду из поднятой командной строки.
Если вы хотите изменить его только для текущего сеанса, используйте set.
Это только модифицирует реестр. Существующий процесс не будет использовать эти значения. Новый процесс будет это делать, если он запущен после этого изменения и не наследует старое окружение от своего родителя.
Вы не указали, как вы запустили консольный сеанс. Лучший способ убедиться в этом - выйти из командной оболочки и запустить ее снова. После этого он должен унаследовать обновленный PATH.
Вы Don'т необходимости каких-либо
установить
илиsetx
команду, просто откройте терминал и введите:Это показывает текущее значение переменной PATH. Теперь вы хотите добавить в каталог? Просто наберите:
Если по какой-либо причине вы хотите, чтобы очистить переменную PATH (пути или удалить все пути в нем), типа:
Обновление
Как Даниал Уилсон отметил в комментарии ниже, это устанавливает только путь в текущей сессии. Чтобы установить путь, постоянно использовать setx` но имейте в виду, хотя, что задает путь, по которому постоянно, но не в текущей сессии, поэтому вы должны начать новую командную строку чтобы увидеть изменения, более подробная информация здесь.
Чтобы проверить, если переменная окружающей среды существует или увидеть его потребительную стоимость Эхо commnad:
Я бы использовать PowerShell вместо!
Чтобы добавить каталог к пути с помощью PowerShell, выполните следующие действия:
Чтобы задать переменную для всех пользователей компьютера, в последней строке должно быть так:
В скрипте PowerShell, вы, возможно, захотите, чтобы проверить наличие вашего C:\xampp\php` перед добавлением в путь (если он был ранее добавлен). Вы можете обернуть его в "если" условно.
Так соберем все вместе:
Еще лучше, можно создать универсальную функцию. Просто укажите каталог, который вы хотите добавить:
Вы могли бы сделать вещи лучше, делая некоторые полировать. Например, с помощью тест-путь`, чтобы убедиться, что каталог существует на самом деле.
Безопаснее SETX
Кивать на все комментарии на @Nafscript's первоначально
SETX
ответить.SETX
по умолчанию будут обновлять ваш пользователь **** путь.SETX ... /м
будет обновлять свой *** в путь.%Путь%
содержит системный путь с путь пользователя прилагаетсяПредупреждения ##
путь
-SETX
обрежет твое барахло длиннее 1024 символовСтраница SETX ss64 имеет некоторые очень хорошие примеры. Главное это указывает на то, где ключи реестра для SETX
против
SETX /м`Инструкция по применению#
Добавить пользователя
путь
append_user_path.УМК
Добавить в систему "путь"
append_system_path.УМК
. Должен быть запущен в качестве администратора.(он'ы в принципе тоже, только с разных
ключ
иSETX /м
модификатор)Альтернатив#
Наконец, там'ы потенциально улучшенную версию под названием SETENV рекомендовано странице SETX ss64, что разделяет ожидания пользователя или системные переменные среды.
<суп>1. Не совсем так</SUP и ГТ;
Опоздал на вечеринку, но удобно, если вы уже находитесь в директории, которую вы хотите добавить к пути.
задаем путь=%путь%;%КР%
редактировать: как за комментарий - работает со стандартными окнами cmd, но не в PowerShell.
Для PowerShell на
%КД%
эквивалент[системы.Окружающая Среда::Текущей Каталог
Что делать, если вы ошиблись при вводе путь с помощью setx? Лучший способ просто через окна И. У. Панель управления gt;Все элементы управления-&Панель gt;Система->продвинутая система настройки-и GT;Переменные среды
Прокрутите вниз, чтобы путь и выберите Редактировать. Вы также можете скопировать и вставить его в ваш любимый редактор, так что вы можете увидеть весь путь и более легко редактировать его.
Помимо всех ответов, если вы хотите хороший графический инструмент для редактирования переменных среды Windows вы можете использовать быстрое окружающей среды редактор
попробуйте! его безопасным в использовании и удивительным!
http://www.rapidee.com/en/
Чтобы переопределить уже включены исполняемых файлов;
Проверяя вышеуказанные рекомендации в Windows 10 LTSB, и взглянуть на "Помоги мне" контуры (которые могут быть просмотрены при печатании 'команда /?' на ЦМД), привел меня к вывод о том, что путь команды изменения системы значений переменных среды путь только для текущей сессии, но после перезагрузке все значения сбросятся на по умолчанию - так же, как они были до использования командной путь.
С другой стороны, используя команду SETX с правами администратора-это способ более мощным, он меняет эти значения для хорошего (или по крайней мере до тех пор, пока в следующий раз эта команда используется или до следующего раза эти значения вручную Гуй манипулировать... ).
Но для ясности я думал, что здесь самое лучшее использование синтаксиса SETX что сработало для меня, может кому-то поможет один день:
где любой знак равенства '=' Следует избегать, и Дон'т вы беспокоиться о пространств! нет необходимости, чтобы вставить больше всяких кавычек на пути что содержит пробелы внутри него - сплит знак ';' сделать работу.
Путь сайта, который следует за SETX определяет, какой набор ценностей надо менять среди системных переменных окружения возможных значений, а переменная %Path% (слово путь в окружении знак процента) внутри кавычек, говорит ОС, чтобы оставить существующий путь значения, и добавьте следующий путь (тот, что повторяет сплит знак ';' ) к существующим значениям.
НТН
Что касается пункта 2 я'м с помощью простого пакетного файла, который является заполнение
путь
или другие переменные окружения для меня. Следовательно, нет загрязнения переменных окружения по умолчанию. Этот пакетный файл доступен отовсюду, Так что я могу типа:В командной строке вы говорите cmd, чтобы использовать проводник'командная строка с Добавить перед ним "пуск".
Итак, начать Yourbatchname`.
Примечание Вы должны зарегистрироваться, как если бы его имя batchfile.exe`.
Программы и документы могут быть добавлены в реестр, поэтому, вписав их имя без их пути в диалоговом окне Выполнить или сочетание клавиш позволяет Windows, чтобы найти их.
Это универсальный reg-файл. Скопировать ниже линии в новый текстовый документ и сохраните его как anyname.Рег. Изменить его с вашими программами или документами.
В пути использования \ чтобы отделить имена папок в ключ пути как regedit использует один \ разделить это's ключевые имена. Все файлы reg начать с REGEDIT4. Точка с запятой превращает строку в комментарий. Символ @ означает присвоить значение ключа, а не именованное значение.
Файл не'т должны существовать. Это может использоваться, чтобы установить Word.exe открыть Winword.exe.
Набрав запустить пакетник начнется iexplore.exe.
Вы'уже говорил о пути в другой ответ. Также см.
doskey /?
для макросов УМК (они работают только при вводе текста).Вы можете выполнять команды запуска для cmd. Из Окон Прибегать Комплект Технической Ссылкой
Автозапуск
Описание
Содержит команды, которые выполняются каждый раз при запуске Cmd.exe.
Лучшая альтернатива панели управления для использования этой программы с SourceForge называется Pathenator:
https://sourceforge.net/projects/pathenator/
Однако, это только для работников системы, которая имеет Dot.Net 4.0 или выше, таких как Windows 7,8, или 10.
Если вы выполните команду команду "cmd", то она будет изменять все системные переменные для этой команды окно.
использование маршрутизации от gtools
он делает вещи в интуитивно понятным способом, например:
это и показывает результаты без необходимости порождать новые УМК !
Я установил PHP, что время. Извлечено <б>РНР-7***.молния</б> в <и>C:\php\</я и GT;
Резервное копирование переменной моего нынешнего окружения PATH: запустите команду " cmd " и выполнить команду:
путь >C:\path-backup.txt
Вам моя текущая стоимость пути в файл C:\path.txt (точно так же)
Изменить path.txt (конечно, мой путь длиной более 1024 символов, Windows работает несколько лет)
путь setx "и здесь вы должны вставить строку из буфера (новый путь)"
вв PHP -в
Как бы это банально не было, мне пришлось перезагрузите Windows когда столкнулся с этой проблемой.
Я использую Windows 7 х64. Я сделал ручное обновление в системную переменную PATH. Это работает нормально, если я запускаю cmd.exe из меню стат. А если я типа "и УМК" в адресной строке проводника, похоже, нагрузка на путь от в другом месте, что я'т придется мне инструкцию изменения.
(Во избежание сомнений - да, я закрыть и снова запустить команду cmd пару раз, прежде чем я перезагрузил и он не'т помочь.)