Windows 7 path: How to Set the Path and Environment Variables in Windows
Содержание
Как отредактировать PATH в Windows 7, 8 и Windows 10?
Автор Михаил Граблевский На чтение 3 мин Просмотров 1.7к. Опубликовано
Как запустить программу из командной строки не переходя каждый раз в папку с программой?! Как запускать сторонние программы так, как, например, программу IPCONFIG, которая не требует перехода в папку?
Содержание
- Что такое PATH система Windows?
- Как добавить папку в PATH?
- Path в операционной системе Windows 7 и Windows 8
- Path в операционной системе Windows 10
Что такое PATH система Windows?
Если вы скачали программу командной строки, например ADB (Android Debuggin Bridge), то вы не сможете запустить ее просто вписав adb в командной строке, как вы всегда поступали с системными командами Windows (IPCONFIG, NETSTAT и т.п.). Вместо этого вы должны будете указать командную строку содержащую полный путь к exe-файлу.
C:\Android\platform-tools\adb.exe
Это достаточно сложно писать в командной строке без ошибок, тем более, если вам приходится делать это достаточно часто.
PATH система Windows сообщает вашей операционной системе каталоги, в которых следует искать исполняемые файлы. Например ранее упоминаемая программа ipconfig.exe расположена в каталоге C:\Windows\System32, который в свою очередь уже добавлен в PATH Windows. При вводе команды ipconfig система обыщет все папки из PATH на наличие файла ipconfig.exe и запустит его выполнение.
Если вы хотите то же удобство с программой (в нашем примере это ADB), то приложение ADB необходимо добавить в PATH Windows и после этого для запуска достаточно будет вписать в командную строку:
ADB
Больше ничего впечатывать не придется.
Как добавить папку в PATH?
В Windows 7, 8 и Windows 10 попасть в настройки PATH можно так: Панель управления / Система / Дополнительные переменные среды.
Далее перейти в «Переменные среды».
В окне «Переменные среды» обратите внимание на переменную с именем Path. Выберите ее и нажмите «Изменить..»
Дальнейшие действия одинаковы в Windows 7 и 8, но иные, облегченные, в Windows 10.
Path в операционной системе Windows 7 и Windows 8
В этих системах переменная Path является не более, чем длинной строкой текста с адресами каталогов системы. В этот текст мы добавим каталог и с нашей программой ADB.
Для того, чтобы добавить запись с путем к исполняемому файлу в Windows 7 и 8 к тексту нужно добавить путь, которому предшествует точка с запятой, разделяющая различные записи. Например так:
C:\Android\platform-tools
Добавлять такой путь в текст path нужно только в конец строки.
После ввода нажмите ОК. Все, мы добавили каталог в patch Windows 7 и 8.
Path в операционной системе Windows 10
В операционной системе Windows 10 этот процесс проще и менее запутанный. После нажатия кнопки «Изменить…» откроется новое диалоговое окно с расположенными в отдельных строках путях path.
Это улучшение позволяет проще и нагляднее видеть имеющиеся пути path и облегчает добавить новые пути.
Для добавления нового пути в переменную path Windows 10 нужно нажать «Новый», добавить путь C:\Android\platform-tools и нажать ОК.
Новая запись появится в низу списка.
Теперь запуск Android Debug Bridge доступен из любого раздела командной строкой без ввода полного пути к исполняемому файлу.
Командная строка
— Добавление каталога в переменную среды PATH в Windows
спросил
Изменено
3 месяца назад
Просмотрено
2,1 млн раз
Я пытаюсь добавить C:\xampp\php
в переменную среды PATH
моей системы в Windows.
Я уже добавил его с помощью диалогового окна Переменные среды .
Но когда я ввожу в консоль:
C:\>путь
не показывает новый каталог C:\xampp\php
:
PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C :\ВИНДОУС; C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL Сервер\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
с помощью консоли (и программно, с помощью пакетного файла)?
- окна
- командная строка
- путь
- переменные окружения
8
Вариант 1
После изменения PATH
с помощью графического интерфейса закройте и снова откройте окно консоли.
Это работает, потому что только программы, запущенные после изменения, увидят новый PATH
.
Вариант 2
Этот параметр влияет только на текущий сеанс оболочки, а не на всю систему. Выполните эту команду в открытом командном окне:
set PATH=%PATH%;C:\your\path\here\
Эта команда добавляет C:\your\path\here\
на текущий ПУТЬ
. Если ваш путь включает пробелы, вам нужно , а не включать кавычки.
Разбивка:
-
set
— команда, которая изменяет переменные окружения cmd только для текущего сеанса cmd ; другие программы и система остаются незатронутыми. -
PATH=
— означает, чтоPATH
— это переменная среды, которую необходимо временно изменить. -
%PATH%;C:\ваш\путь\здесь\
— Часть%PATH%
расширяется до текущего значенияPATH
, а;C:\your\path\here\
затем объединяется с ним. Это становится новымPATH
.
12
ПРЕДУПРЕЖДЕНИЕ: Это решение может быть разрушительным для вашего PATH и стабильности вашей системы. В качестве побочного эффекта он объединит ваш пользовательский и системный PATH и урежет PATH до 1024 символов. Эффект этой команды необратим. Сначала сделайте резервную копию PATH. См. комментарии для получения дополнительной информации.
Не копируйте и не вставляйте это вслепую. Используйте с осторожностью.
Вы можете навсегда добавить путь к PATH
с помощью команды setx
:
setx /M path "%path%;C:\your\path\here\"
Снимите флаг /M
, если вы хотите установить пользовательский ПУТЬ
вместо системного ПУТЬ
.
Примечания:
- Команда
setx
доступна только в Windows 7 и более поздних версиях. Эту команду следует запускать из командной строки с повышенными привилегиями.
Если вы хотите изменить его только для текущего сеанса, используйте set.
15
Это только изменяет реестр. Существующий процесс не будет использовать эти значения. Новый процесс будет делать это, если он запущен после , это изменение и не наследует старую среду от своего родителя.
Вы не указали способ запуска сеанса консоли. Лучший способ убедиться в этом — выйти из командной оболочки и запустить ее снова. Затем он должен наследовать обновленную переменную среды PATH.
6
Вам не нужны команды set
или setx
. Просто откройте терминал и введите:
ПУТЬ
Показывает текущее значение переменной PATH. Теперь вы хотите добавить к нему каталог? Просто введите:
ПУТЬ %PATH%;C:\xampp\php
Если по какой-либо причине вы хотите очистить переменную PATH (полностью удалить пути или удалить все пути в ней), введите:
PATH ;
Update
Как отметил Даниал Уилсон в комментарии ниже, он устанавливает путь только в текущем сеансе. Чтобы установить путь на постоянной основе, используйте setx
, но имейте в виду, что хотя это устанавливает постоянный путь, но , а не в текущем сеансе, поэтому вам нужно запустить новую командную строку, чтобы увидеть изменения. Дополнительная информация здесь.
Чтобы проверить, существует ли переменная среды или увидеть ее значение, используйте команду ECHO:
echo %YOUR_ENV_VARIABLE%
6
Вместо этого я бы использовал PowerShell!
Чтобы добавить каталог в PATH с помощью PowerShell, выполните следующие действия:
$PATH = [Environment]::GetEnvironmentVariable("PATH") $xampp_path = "C:\xampp\php" [Среда]::SetEnvironmentVariable("ПУТЬ", "$ПУТЬ;$xampp_path")
Чтобы установить переменную для всех пользователей на всей машине, последняя строка должна выглядеть так:
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
В сценарии PowerShell вы можете проверить наличие вашего C:\xampp\php
перед добавлением в PATH (если он был добавлен ранее). Вы можете обернуть его в , если
условно.
Итак, собираем все вместе:
$PATH = [Environment]::GetEnvironmentVariable("PATH", "Machine") $xampp_path = "C:\xampp\php" если($PATH-не нравится "*"+$xampp_path+"*" ){ [Среда]::SetEnvironmentVariable("ПУТЬ", "$ПУТЬ;$xampp_path", "Машина") }
Более того, можно создать общую функцию. Просто укажите каталог, который вы хотите добавить:
function AddTo-Path{ параметр( [строка]$Dir ) if( !(Тестовый путь $Dir)){ Пишет-предупреждение "Предоставленный каталог не найден!" возвращаться } $PATH = [Среда]::GetEnvironmentVariable("ПУТЬ", "Машина") если($PATH-не нравится "*"+$Dir+"*" ){ [Среда]::SetEnvironmentVariable("ПУТЬ", "$ПУТЬ;$Каталог", "Машина") } }
Вы могли бы улучшить ситуацию, немного отполировав ее. Например, используя Test-Path
, чтобы убедиться, что ваш каталог действительно существует.
4
Кивок всем комментариям к первоначальному ответу @Nafscript SETX
.
-
SETX
по умолчанию обновит путь пользователя . -
SETX ... /M
обновит ваш системный путь . -
%PATH%
содержит системный путь с добавленным путем пользователя
Предупреждения
- Сделайте резервную копию вашего
PATH
—SETX
обрежет ваш мусор длиннее 1024 символов - Не звонить
SETX %PATH%;xxx
— добавляет системный путь в путь пользователя - Не звонить
SETX %PATH%;xxx /M
— добавляет путь пользователя в системный путь - Чрезмерное использование командного файла может привести к слепоте 1
На странице ss64 SETX есть несколько очень хороших примеров. Важно отметить, что он указывает, где находятся ключи реестра для SETX
по сравнению с SETX/M
пользовательских переменных:
HKCU\Окружающая среда
Системные переменные:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Инструкции по использованию
Добавление к пользователю
ПУТЬ
append_user_path. cmd
@ECHO OFF Использование REM: append_user_path "путь" УСТАНОВИТЕ ключ = "HKCU\Environment" FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B ЭХО %CurrPath% > user_path_bak.txt НАСТРОЙКА ПУТИ "%CurrPath%";%1
Добавить к системе
ПУТЬ
append_system_path.cmd
. Необходимо запускать от имени администратора.
(Это в основном то же самое, за исключением другого Key
и модификатора SETX /M
.)
@ECHO OFF Использование REM: append_system_path "путь" SET Key = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B ЭХО %CurrPath% > system_path_bak.txt ПУТЬ SETX "%CurrPath%";%1 /M
Альтернативы
Наконец, есть потенциально улучшенная версия под названием SETENV, рекомендованная на странице ss64 SETX, которая разделяет установку пользовательских или системных переменных среды.
Вот полный пример, который работает в Windows 7 для установки переменной среды PATH
для всей системы. В примере определяется, было ли программное обеспечение уже добавлено в PATH
перед попыткой изменить значение. Имеется ряд незначительных технических отличий от приведенных выше примеров:
@эхо выключено установить СОБСТВЕННЫЙ ПУТЬ=%~dp0 установить ПЛАТФОРМА=mswin если определены ProgramFiles(x86) установите PLATFORM=win64 если "%PROCESSOR_ARCHITECTURE%"=="AMD64" установите PLATFORM=win64 если существует "%OWNPATH%tex\texmf-mswin\bin\context.exe", установите PLATFORM=mswin если существует "%OWNPATH%tex\texmf-win64\bin\context.exe", установите PLATFORM=win64 rem Проверить, был ли ранее обновлен PATH эхо% ПУТЬ% | findstr "texmf-%PLATFORM%" > ноль rem Обновляйте только PATH, если он ранее не обновлялся если ОШИБКА 1 ( установить ключ = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" for /F "USEBACKQ tokens=2*" %%A in (`reg query %%Key%% /v PATH`) do ( если не "%%~B" == "" ( rem Сохранить существующий PATH эхо %%B > currpath. txt rem Обновить текущую сессию установить PATH=%PATH%;%OWNPATH%tex\texmf-%PLATFORM%\bin rem Сохранить переменную окружения PATH setx ПУТЬ "%%B;%OWNPATH%tex\texmf-%PLATFORM%\bin" /M ) ) )
1. Не совсем верно
0
Удобно, если вы уже находитесь в каталоге, который хотите добавить в PATH:
set PATH=%PATH%;%CD%
Работает со стандартной командной строкой Windows, но не в PowerShell.
Для PowerShell эквивалентом %CD%
является [System.Environment]::CurrentDirectory
.
2
Помимо всех ответов, если вам нужен удобный инструмент с графическим интерфейсом для редактирования переменных среды Windows, вы можете использовать Rapid Environment Editor.
Попробуй! Это безопасно в использовании и потрясающе!
1
- Изменения командной строки не будут постоянными и будут потеряны при закрытии консоли.
- Путь работает по принципу «первым пришел, первым обслужен».
- Возможно, вы захотите переопределить другие уже включенные исполняемые файлы. Например, если у вас уже есть другая версия на вашем пути, и вы хотите добавить другую версию, не внося постоянных изменений в путь, вы должны указать каталог в начале команды.
Для переопределения уже включенных исполняемых файлов;
установить PATH=C:\xampp\php;%PATH%;
Используйте путь из gtools.
Он работает интуитивно. Например:
pathed /REMOVE "c:\my\folder" pathed /APPEND "c:\моя\папка"
Показывает результаты без необходимости создавать новый cmd !
1
Проверив приведенные выше предложения в Windows 10 LTSB и взглянув на контуры «справки» (которые можно просмотреть, набрав «команда /?» в cmd), я пришел к выводу, что команда PATH изменяет систему. Значения пути переменной среды только для текущего сеанса, но после перезагрузки все значения сбрасываются до значений по умолчанию — так же, как они были до использования команды PATH.
С другой стороны, использование команды SETX с правами администратора намного мощнее. Он изменяет эти значения навсегда (или, по крайней мере, до следующего использования этой команды или до тех пор, пока эти значения не будут обработаны вручную с помощью графического интерфейса…).
Лучшее использование синтаксиса SETX, которое сработало для меня:
SETX PATH "%PATH%;C:\path\to\where\the\command\resides"
, где следует избегать любого знака равенства ‘=’, и не беспокойтесь о пробелах! Больше не нужно вставлять кавычки для пути, который содержит пробелы внутри — знак разделения ‘;’ делает работу.
Ключевое слово PATH, следующее за SETX, определяет, какой набор значений должен быть изменен среди возможных значений переменных среды системы, а %PATH% (слово PATH, заключенное в знак процента) в кавычках сообщает ОС чтобы оставить существующие значения PATH такими, какие они есть, и добавить следующий путь (тот, который следует за знаком разделения ‘;’) к существующим значениям.
1
Используйте эти команды в оболочке Bash в Windows, чтобы добавить новое местоположение к переменной PATH
ПУТЬ=$ПУТЬ:/путь/к/моему каталогу
Или добавьте это местоположение
PATH=/path/to/mydir:$PATH
В вашем случае, например, выполните
PATH=$PATH:C:\xampp\php
Вы можете повторить $PATH
, чтобы увидеть переменную PATH в оболочке.
1
Что касается точки 2 , я использую простой пакетный файл, который заполняет PATH
или другие переменные среды для меня. Поэтому по умолчанию нет никакого загрязнения переменных окружения. Этот пакетный файл доступен отовсюду, поэтому я могу ввести:
мой пакетный файл
Вывод:
-- Здесь доступны все переменные среды
И:
php файл.php
3
Если вы запустите команду cmd
, она обновит все системные переменные для этого командного окна.
1
В командной строке вы указываете Cmd использовать командную строку Windows Explorer, поставив перед ней цифру 9.0011 начало .
Итак, запустите Yourbatchname
.
Обратите внимание, что вы должны зарегистрироваться, как если бы его имя было batchfile.exe
.
Программы и документы могут быть добавлены в реестр, поэтому ввод их имени без пути в диалоговом окне «Пуск» — «Выполнить» или в ярлыке позволяет Windows найти их.
Это общий reg-файл. Скопируйте приведенные ниже строки в новый текстовый документ и сохраните его как anyname.reg. Отредактируйте его с помощью ваших программ или документов.
В путях используйте \
для разделения имен папок в путях ключей, так как regedit использует один \
для разделения имен своих ключей. Все reg-файлы начинаются с REGEDIT4. Точка с запятой превращает строку в комментарий. Символ @
означает присвоение значения ключу, а не именованному значению.
Файл не должен существовать. Это можно использовать для того, чтобы Word.exe открывал Winword.exe.
Ввод start batchfile
запустит iexplore.exe.
РЕГЕДИТ4 ;Название, выделенное ниже жирным шрифтом, — это имя документа или программы, <имя файла>.<расширение файла> [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe] ; Знак @ означает, что пути к файлу присвоено значение по умолчанию для ключа. ; Весь путь заключен в кавычки ". @="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"" ; Дополнительные параметры. Точка с запятой означает, что строка не обрабатывается. Удалите его, если вы хотите поместить его в реестр. ; Сообщает оболочке, что программа принимает URL-адреса. ;"useURL"="1" ; Устанавливает путь, который программа будет использовать в качестве своего каталога по умолчанию. Это закомментировано. ;"Путь"="C:\\Program Files\\Microsoft Office\\Office\\"
Вам уже говорили о пути в другом ответе. Также см. doskey /?
для макросов cmd (работают только при вводе).
Вы можете запускать команды запуска для CMD. Из Технического справочника Windows Resource Kit
AutoRun
HKCU\Software\Microsoft\Command Processor Тип данных Диапазон Значение по умолчанию REG_SZ список команд Для этой записи нет значения по умолчанию.
Описание
Содержит команды, которые выполняются при каждом запуске Cmd.exe.
Лучшей альтернативой панели управления является использование этой бесплатной программы от SourceForge под названием Pathenator.
Однако он работает только в системе с .NET 4.0 или более поздней версии, такой как Windows 7, Windows 8 или Windows 10.
0
Как бы тривиально это ни было, мне пришлось перезапустить Windows , когда я столкнулся с этой проблемой.
У меня Windows 7 x64. Я вручную обновил системную переменную PATH. Это работало нормально, если я запускал cmd.exe из меню статистики. Но если я наберу «cmd» в адресной строке Windows Explorer, он, кажется, загрузит PATH из другого места, в котором нет моих ручных изменений.
(Во избежание сомнений — да, я закрывал и перезапускал cmd пару раз перед перезагрузкой, и это не помогло.)
3
Приведенное ниже решение сработало отлично.
Попробуйте выполнить следующую команду в терминале Windows.
setx ПУТЬ "C:\myfolder;%PATH%"
УСПЕХ: Указанное значение сохранено.
Подробнее здесь.
Как открыть окно переменных среды
из диалогового окна cmd.exe/Run…
-
SystemPropertiesAdvanced
и нажмите «Переменные среды», без UAC -
rundll32 sysdm.cpl,EditEnvironmentVariables
прямой, может вызвать UAC
Через Можно ли запустить инструмент переменных среды в Windows напрямую? при сбое сервера.
Как открыть окно «Переменные среды
» из Проводника
- Щелкните правой кнопкой мыши «Этот компьютер»
- Нажмите «Свойства»
- На левой панели всплывающего окна нажмите «Дополнительные параметры системы»
- Нажмите на вкладку «Дополнительно»
- Нажмите кнопку «Переменные среды» в нижней части окна
Вы также можете выполнить поиск Variables
в поиске меню «Пуск».
Справочные изображения того, как выглядит окно
переменных среды :
Windows 10
через
Windows 7
через
Windows XP
через
В то время я установил PHP. Я распаковал php-7***.zip в C:\php
Сделайте резервную копию моей текущей переменной среды PATH: запустите
cmd
и выполните команду:path >C:\path-backup.txt
Получить текущее значение пути в файл C:\path. txt (таким же образом)
Изменить path.txt (конечно, длина моего пути больше 1024 символов, а Windows работает несколько лет)
- Я удалил дубликаты путей, например ‘C:\Windows; или C:\Windows\System32; или C:\Windows\System32\Wbem; — У меня два раза.
- Также удалить пути к неустановленным программам. Пример: C:\Program Files\NonExistSoftware;
- Таким образом, длина строки моего пути < 1024 :)))
- в конце строки пути добавьте
;C:\php\
- Копировать значение пути только в буфер с двойными кавычками! Пример: «C:\Windows;****;C:\php» Там не должно быть PATH= !!!
Откройте Windows PowerShell от имени администратора (например, Win + X ).
Команда запуска:
setx path "Здесь вы должны вставить строку из буфера (новое значение пути)"
Перезапустите ваш терминал (я использую «Far Manager») и проверьте:
php -v
В Windows 10 я смог найти переменную среды set path и получил следующие инструкции:
- На рабочем столе щелкните правой кнопкой мыши самый нижний левый угол экрана, чтобы открыть меню задач опытного пользователя.
- В меню задач опытного пользователя щелкните Система.
- В окне «Настройки» прокрутите вниз до раздела «Связанные настройки» и щелкните ссылку «Информация о системе».
- В окне «Система» щелкните ссылку «Дополнительные параметры системы» на левой панели навигации.
- В окне «Свойства системы» перейдите на вкладку «Дополнительно», затем нажмите кнопку «Переменные среды» в нижней части этой вкладки.
- В окне «Переменные среды» (на рисунке ниже) выделите переменную «Путь» в разделе «Системные переменные» и нажмите кнопку «Изменить». Добавьте или измените строки пути с путями, к которым вы хотите, чтобы компьютер обращался. Каждый отдельный каталог отделяется точкой с запятой, как показано ниже:
C:\Program Files;C:\Winnt;C:\Winnt\System32
В первый раз, когда я его искал, он сразу же открыл окно свойств системы. После этого я нашел приведенную выше инструкцию.
путь — windows 7: переменная среды не работает
Задавать вопрос
спросил
Изменено
7 лет, 6 месяцев назад
Просмотрено
7к раз
Я добавил переменную среды «qt» со значением «C:\qt\4. 3.4\bin», а также добавил путь в системную переменную. путь имел указанное ниже значение, и я добавил в его конец новое значение «C:\qt\4.3.4\bin». но все равно не работает, есть идеи в чем проблема?
"C:\Program Files (x86)\Java\jre6\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C :\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\ Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\IBM\RationalSDLC\ClearCase\bin;C:\Program Files (x86)\IBM\RationalSDLC\common;C:\qt\4.3.4\bin"
- windows-7
- путь
- переменные окружения
5
Эта проблема возникает из-за ограничения длины переменной PATH в Windows на 1024 или 2048 символов.
Я написал небольшое приложение, чтобы решить эту проблему и уменьшить ненужный текст из переменной окружения PATH в Windows 7.