Добавление каталога в переменную среды PATH в Windows - PullRequest
462 голосов
/ 03 марта 2012

Я пытаюсь добавить 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

У меня есть два вопроса:

  1. Почемуэто случилось?Что-то я не так сделал?
  2. Кроме того, как мне добавить каталоги в мою переменную PATH с помощью консоли (и программно, с командным файлом)?

Ответы [ 17 ]

1 голос
/ 30 октября 2015

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

c:\>mybatchfile
-- here all env. are available
c:\>php file.php
1 голос
/ 22 ноября 2016

Проверка приведенных выше предложений в Windows 10 LTSB и краткий обзор контуров «справки» (которые можно увидеть при вводе команды /? В cmd) привели меня к Вывод: команда PATH изменяет значения переменной системной среды Path только для текущего сеанса, но после перезагрузки все значения сбрасываются до значений по умолчанию - так же, как они были до использования команды PATH.

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

Но для ясности я подумал, что лучше всего использовать здесь синтаксис SETX это сработало для меня, может помочь кому-нибудь однажды:

SETX PATH "%PATH%;C:\path\to\where\the\command\resides"

, где следует избегать любого знака равенства '=', и не беспокойтесь о пространства! нет необходимости вставлять больше кавычек для пути внутри которого есть пробелы - знак расщепления ';' сделай работу.

Ключевое слово PATH, следующее за SETX, определяет, какой набор значений следует изменить среди возможных значений переменных системной среды, а% PATH% (слово PATH, окруженное знаком процента) внутри кавычек, сообщает ОС: оставьте существующие значения PATH такими, какие они есть, и добавьте следующий путь (тот, который следует за знаком разделения ';') к существующим значениям.

НТН

0 голосов
/ 19 марта 2019

использовать извлеченные из gtools

это делает вещи интуитивно понятным образом, например:

pathed /REMOVE "c:\my\folder"
pathed /APPEND "c:\my\folder"

это и показывает результаты без необходимости порождатьновый cmd !

0 голосов
/ 24 октября 2018
  1. В то время я установил PHP. Извлечено php-7 ***. Zip в C: \ php \
  2. Сделайте резервную копию моей текущей переменной среды PATH: запустите cmd и выполните команду: path >C:\path-backup.txt

  3. Получить мое текущее значение пути в файл C: \ path.txt (аналогично)

  4. Изменить path.txt (конечно, длина моего пути больше 1024 символов, Windows работает несколько лет)
    • Я удалил дубликаты путей, например, 'C: \ Windows; или C: \ Windows \ System32; или C: \ Windows \ System32 \ Wbem; - У меня есть дважды.
    • Удалите также пути к неустановленным программам. Пример: C: \ Program Files \ NonExistSoftware;
    • Таким образом, длина моего пути <1024:))) </li>
    • в конце строки пути добавить; C: \ php \
    • Копировать только значение пути в буфер с двойными кавычками в рамке! Пример: "C: \ Windows; ****; C: \ php \" Нет PATH = должно быть там !!!
  5. Откройте Windows PowerShell от имени администратора.
  6. Команда запуска:

setx path "Here you should insert string from buffer (new path value)"

  1. Перезапустите свой терминал (я использую «Far manager») и проверьте: php -v
0 голосов
/ 17 октября 2018

Если вы запустите команду cmd, она обновит все системные переменные для этого командного окна.

0 голосов
/ 28 августа 2017

Лучшей альтернативой Панели управления является использование этой бесплатной программы от sourceforge под названием Pathenator:

https://sourceforge.net/projects/pathenator/

Однако она работает только для систем с Dot.Net 4.0 или выше.такие как windows 7,8 или 10.

0 голосов
/ 21 декабря 2016

В командной строке вы указываете Cmd использовать командную строку Explorer, предварительно указав для нее start.

То есть start Yourbatchname.

Обратите внимание, вы должны зарегистрироваться, как если бы его имя было batchfile.exe.

Программы и документы можно добавлять в реестр, поэтому ввод их имени без указания пути в диалоговом окне «Пуск - Выполнение» или ярлык позволяет Windows найти их.

Это общий reg файл. Скопируйте строки ниже в новый текстовый документ и сохраните его как anyname.reg. Отредактируйте его своими программами или документами.

В путях используйте \ для разделения имен папок в ключевых путях, поскольку regedit использует один \ для разделения имен своих ключей. Все рег файлы начинаются с REGEDIT4. Точка с запятой превращает строку в комментарий. Символ @ означает присвоение значения ключу, а не именованному значению.

Файл не должен существовать. Это можно использовать для настройки Word.exe на открытие Winword.exe.

Ввод start batchfile запустит iexplore.exe.

REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension> 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe]

;The @ means the path to the file is assigned to the default value for the key.
;The whole path in enclosed in a quotation mark ".

@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry

;Informs the shell that the program accepts URLs.

;"useURL"="1"

;Sets the path that a program will use as its' default directory. This is commented out.

;"Path"="C:\\Program Files\\Microsoft Office\\Office\\"

Вам уже сказали о пути в другом ответе. Также см. doskey /? для макросов cmd (они работают только при наборе).

Вы можете запускать команды запуска для CMD. Из Технического справочника Windows Recource Kit

Автозапуск

HKCU\Software\Microsoft\Command Processor 

Data type Range Default value 
REG_SZ  list of commands  There is no default value for this entry.  

Описание

Содержит команды, которые выполняются при каждом запуске Cmd.exe.

...