Windows echo path: Windows CMD: PATH Variable — Add To PATH — Echo PATH
echo %path% не работает в windows 8
Не мог бы кто-нибудь сказать мне, как это исправить?
batch-file
cmd
windows-8
environment-variables
Поделиться
Источник
Ranger Red
18 апреля 2017 в 19:35
1 ответ
- %PATH% на сервере Windows 2008 фактически не работает
Как вы можете видеть ниже, %AppData%\npm добавляется в системную переменную Path. Я также попытался добавить его в переменную User Path. Файл grunt.cmd существует в Каталоге, но работает только в том случае, если я указываю его с абсолютным путем. AKA, путь не работает. C:\Users\TeamCity>echo…
- для %a in («%path:;=»;»%») do @echo %~a
В Windows, когда каждая из переменных PATH должна быть перечислена в одной строке, то может быть выполнена команда for %a in (%path:;=;%) do @echo %~a . Я не понимаю, что делает %path:;=;% ?
3
Проблема, по-видимому, заключается в <Java Home>
.
echoing
this would attempt to read from a file named Java
.
In all probability, you need to change it to %java home%
Поделиться
Magoo
18 апреля 2017 в 19:46
Похожие вопросы:
Echo %path% на отдельных строках?
Используя командную строку windows, могу ли я echo %path% и получить результирующие пути в отдельных строках? Что-то вроде этого, но для windows: echo $path | tr ‘:’ ‘\n’ Могу ли я сделать это с…
echo не работает для переменной PATH!
Когда я запускаю команду ls , она работает нормально. Но echo $PATH не дает мне никакого выхода из perl. Когда я запускаю echo из приглашения shell, он выдает мне вывод. Можете ли вы объяснить такое…
execv не работает для «execv(«/bin/echo», [«echo»,»$PATH»] )?
Я вызываю echo с помощью execv с аргументом: $PATH, а выводом является $PATH, а не фактическое значение переменной окружения $PATH, которое я получаю, когда делаю то же самое в bash. Почему это…
%PATH% на сервере Windows 2008 фактически не работает
Как вы можете видеть ниже, %AppData%\npm добавляется в системную переменную Path. Я также попытался добавить его в переменную User Path. Файл grunt.cmd существует в Каталоге, но работает только в…
для %a in («%path:;=»;»%») do @echo %~a
В Windows, когда каждая из переменных PATH должна быть перечислена в одной строке, то может быть выполнена команда for %a in (%path:;=;%) do @echo %~a . Я не понимаю, что делает %path:;=;% ?
Преобразование Iconv из UTF-8 в Windows-1250 не работает
У меня всегда были проблемы с iconv. Теперь я должен преобразовать строку в Windows-1250, и это, похоже, не работает: $string = ľaľa ho papľuha, ogrcal mi krpce!; echo $string . ‘ ( ‘ ….
echo %PATH не работает на macOS
Когда я набираю echo %PATH, он возвращает %PATH почему? Причина, по которой я спрашиваю, заключается в том, что установка npm работает нормально, но мои пакеты не находятся в пути. Я установил Ionic…
Windows batch: set && echo не работает
Это вопрос Windows cmd.exe. Попытка установить переменную, а затем использовать && для включения другой команды, ссылающейся на эту переменную в одной командной строке, не работает….
Java 8 на Windows 10 — CLASSPATH не работает
Windows 10 1803 64-bit, Java JRE 8. Нет JDK установлен. У меня есть .jar в папке: c:\users\myuser\KickAssembler\KickAss.jar В разделе системные переменные окружения у меня есть CLASSPATH как:…
Пакетной переменной PATH не работает на сервере Windows 2016
недавно мы перешли с Windows Server 2008 на 2016 год, и у нас есть несколько задач по удалению файлов и папок на основе пакетной обработки каждый день. Вот этот код: set…
FORFILES – выполнить команду для группы файлов.
   
Команда FORFILES является удобным средством выполнения заданных команд для группы файлов в пакетных заданиях.
Формат командной строки:
FORFILES [/P путь] [/M маска_поиска] [/S] [/C команда] [/D [+ | -] {dd.MM.yyyy | dd}]
Параметры командной строки:
/P путь — Путь, с которого начинается поиск. По умолчанию используется текущая рабочая папка (.).
/M маска_поиска — Поиск файлов с помощью маски. Маска поиска по умолчанию «*» .
/S — Рекурсивное выполнение программы forfiles во всех подпапках, аналогично «DIR /S».
/C команда — Команда, которая выполняется для каждого файла. Строки команд необходимо заключать в прямые кавычки.
Команда по умолчанию — «cmd /c echo @file».
Следующие переменные могут использоваться в строке команды:
@file — возвращает имя файла.
@fname — возвращает имя файла без расширения.
@ext — возвращает только расширение имени файла.
@path — возвращает полный путь к файлу и его имя.
@relpath — возвращает относительный путь к файлу.
@isdir — возвращает значение «TRUE», если типом файла является папка, и «FALSE» для файлов.
@fsize — возвращает размер файла в байтах.
@fdate — возвращает дату последнего изменения файла.
@ftime — возвращает время последнего изменения файла.
Для включения специальных символов в строку команды следует использовать шестнадцатеричный код символа в формате 0xHH (например, 0x09 для кода символа табуляции).
Перед внутренними командами CMD.exe необходимо ставить «cmd /c».
/D дата — Выбор файлов, у которых дата последнего изменения больше или равна (+) либо меньше или равна (-) указанной дате при использовании формата «dd.MM.yyyy»;
либо файлов, у которых дата последнего изменения больше или равна (+) текущей дате плюс «dd» дней либо меньше или равна (-) текущей дате минус «dd» дней.
Допустимым числом дней «dd» является любое число в диапазоне 0 — 32768. «+» используется по умолчанию, если знак не указан.
/? — Вывод справки по использованию.
Примеры использования команды
FORFILES
/? — Вывод справки по использованию.
FORFILES — отобразить список файлов текущего каталога. Команда с параметрами по умолчанию аналогична команде:
forfiles /P . /M * /C «cmd /c echo @file»
Допускается использование записей –p вместо /p — forfiles -P . -M * -C «cmd /c echo @file»
forfiles /M *.exe /C «cmd /c echo @file» | more — отобразить список файлов текущего каталога с расширением .exe в постраничном режиме вывода на экран.
forfiles /M *.exe /C «cmd /c echo @file» > list_exe.txt — то же, что и в предыдущем примере, но с выдачей результатов в текстовый файл list_exe.txt текущего каталога.
forfiles /P C:\windows\system32 /M *. exe /D +01.09.2014 /C «cmd /c echo @file» — отобразить список файлов программ ( /M *.exe ) из системного каталога Windows (/P C:\windows\system32 ) изменившихся после 01.09.2014 года.
forfiles /P C:\windows\system32 /M *.exe /D -01.09.2014 /C «cmd /c echo @file» — отобразить список файлов программ ( /M *.exe ) из системного каталога Windows (/P C:\windows\system32 ) изменившихся 01.09.2014 года или ранее.
forfiles /P %TEMP% /M *.* /D 0 /C «cmd /c echo @file размер — @fsize» — отобразить имена и размеры всех файлов из каталога временных файлов, изменившихся сегодня.
forfiles /P %TEMP% /M *.log /D -3 /C «cmd /c if @isdir==FALSE notepad.exe @file» — открыть в блокноте файлы с расширением .log из каталога временных файлов, изменившиеся за последние 3 дня.
FORFILES /S /P %USERPROFILE%\Documents\ /M *.doc* /D +01.08.2014 /C «cmd /c echo @path изменен @fdate @ftime» — отобразить список документов в папке «Документы» и
ее подкаталогах в профиле текущего пользователя, которые были изменены после 1 августа 2014 года. Отображается полные пути и имена файлов, дата и время их изменения.
Пример результата выполнения команды в среде Windows 7:
«C:\Documents\classguids.docx» изменен 19.08.2014 16:09:04
«C:\Documents\hardware.docx» изменен 19.08.2014 12:38:31
«C:\Documents\forfiles.doc» изменен 01.09.2014 20:22:07
«C:\Documents\Список файлов.docx» изменен 18.08.2014 23:56:50
. . .
FORFILES /S /P %TEMP% /M *.exe /C «cmd /c echo @path изменен @fdate» > tmp_exe_files.txt — вывести в текстовый файл tmp_exe_files.txt список всех
исполняемых файлов из каталога временных файлов текущего пользователя и его подкаталогов. Выводится полный путь, имя и время изменения, например:
«C:\Temp\Firefox Setup 31.0.exe» изменен 22.07.2014
«C:\Temp\ICReinstall_Firefox Setup 31.0.exe» изменен 22.07.2014
«C:\Temp\TeamViewer\TeamViewer_.exe» изменен 02.07.2014
«C:\Temp\\Driver\x64\Setup. exe» изменен 16.10.2008
«C:\Temp\\Driver\x64\AutoInstall.exe» изменен 23.11.2009
Весь список команд CMD Windows
windows — не могу удалить пути из echo $ PATH
Я использую CMD в Windows 10.
Я пытаюсь очистить пути от «echo $ PATH», но это не работает. Я попытался просто изменить это так:
set PATH=C:\python\Scripts
А затем, когда я снова выполняю «echo $ PATH», он работает:
C:\python\Scripts
Но после того, как я перезапустил VSC, он снова переключился на старые 26-е разные пути. Мне это не нужно.
Как я могу ПОБЕДИТЕЛЬНО удалить его из системы?
Я пытался переустановить VSC
Я пытался очистить кеш ВЕЗДЕ, это не сработало.
Независимо от того, что я делаю каждый раз, когда запускаю «echo $ PATH», он показывает эти 26 путей.
Пожалуйста помоги
0
Sergey
8 Дек 2020 в 00:10
2 ответа
Лучший ответ
Я считаю, что это происходит потому, что PATH
— это переменная среды Windows, и ее можно постоянно изменять в настройках Windows, а не в VSC.
окна
0
broderick
7 Дек 2020 в 21:16
Когда вы пытаетесь установить PATH
с помощью cmd, он устанавливает его временно.
Чтобы изменить это навсегда,
Перейдите в Мой компьютер —> Щелкните правой кнопкой мыши по нему —> Расширенные настройки системы —> Вкладка Дополнительно —> Нажмите на переменные среды,
Затем вы можете добавлять или удалять пути, которые вам не нужны.
0
Kaushal Sharma
7 Дек 2020 в 21:19
Path Environment Variable Windows 10. Echo% Path% в командной строке показывает только% Path%
Path Environment Variable Windows 10. Echo% Path% в командной строке показывает только% Path% — Super User
Сеть обмена стеков
Сеть Stack Exchange состоит из 177 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.
Посетить Stack Exchange
0
+0
- Авторизоваться
Зарегистрироваться
Super User — это сайт вопросов и ответов для компьютерных энтузиастов и опытных пользователей.Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществу
Кто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено
121k раз
На этот вопрос уже есть ответы здесь :
Закрыт 4 года назад.
Значение моей переменной в пути:
C: \ ProgramData \ Oracle \ Java \ javapath;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files ( x86) \ Skype \ Phone \; C: \ Program Files \ Intel \ WiFi \ bin \; C: \ Program Files \ Common Files \ Intel \ WirelessCommon \;% PYTHON_HOME% \;% PYTHON_HOME% \ Scripts; C: \ SQLite
Когда я набираю echo% Path%
в командной строке, я получаю результат ниже
PS C: \ Users \ Arun> echo% Путь%
%Дорожка%
Почему это?
Дэвид Постилл ♦
36k7373 золотых знака310310 серебряных знаков339339 бронзовых знаков
Создан 06 июн.
Арун САрун С
44911 золотых знаков44 серебряных знака33 бронзовых знака
1
Начиная с Windows 10 Insider Build 14971, Microsoft изменила командную оболочку по умолчанию на PowerShell
вместо cmd
.
PowerShell обрабатывает переменные среды иначе, чем cmd
.
Для отображения их значений в PowerShell используйте следующий синтаксис:
$ Env: имя переменной
Пример:
> echo% Путь%
%Дорожка%
> $ Env: Путь
C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C: \ apps \ WSCC \ Sysinternals Suite; C: \ apps \ WSCC \ NirSoft Утилиты
>
Дополнительная литература
Создан 06 июн.
ДэвидПостилл ♦ ДэвидПостилл
36k7373 золотых знака310310 серебряных знаков339339 бронзовых знаков
0
Суперпользователь лучше всего работает с включенным JavaScript
Ваша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie
Настроить параметры
Показывает ли ECHO% PATH% путь в Windows в неправильном порядке?
В настоящее время я борюсь со своей IDE и использованием PATH, JAVE_HOME и т. Д.в Windows 7.
Как указано в этом вопросе: переменная PATH, показывающая разные значения (диалоговое окно командной строки и переменных среды). К сожалению, я скопировал весь свой PATH (несколько раз) в пользовательский, используя setx
.
Но есть кое-что, чего я не понимаю: если я делаю echo% PATH%
, кажется, что он печатает системный путь раньше, чем пользовательский. Однако кажется, что при использовании пути окна сначала ищут пользователя, а затем систему.
Я спрашиваю об этом, потому что пытаюсь переопределить JDK по умолчанию.
Пример, когда я выполняю echo% path:; = & echo.%
(для печати пути с возвратом каретки)
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ WINDOWS \ System32
C: \ ProgramData \ Oracle \ Java \ javapath
C: \ WINDOWS \ system32
C: \ ОКНА
C: \ WINDOWS \ System32 \ Wbem
C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \
и т.п.
C: \ Users \ asoub \ java \ open_jdk_8u40 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ Program Files (x86) \ Java \ jdk1. 7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ WINDOWS \ System32
C: \ ProgramData \ Oracle \ Java \ javapath
C: \ WINDOWS \ system32
C: \ ОКНА
C: \ WINDOWS \ System32 \ Wbem
C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \
Но если я сделаю java -version
, я получу openjdk version "1.> Nul ') Do @Echo% A =% C
ПУТЬ = C: \ Users \ asoub \ java \ open_jdk_8u40 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7. 0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ Program Files (x86) \ Java \ jdk1.7.0_07 \ bin
c: \ программные файлы \ apache-maven-3.5.0 \ bin
C: \ WINDOWS \ System32
C: \ ProgramData \ Oracle \ Java \ javapath
C: \ WINDOWS \ system32
C: \ ОКНА
C: \ WINDOWS \ System32 \ Wbem
C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \
C: \ Program Files \ SafeNet \ Aut
Бинарный файл java, конечно же, находится в java \ ... \ bin
. Первая папка, которую Windows читает при использовании java -version
, является первой папкой в пользовательском пути, а не первой из глобального пути. Но когда напечатан полный путь, первая папка с показанным исполняемым файлом java — это jdk 1.7.0 …
Итак, повторяет ли Windows путь: сначала система, затем пользователь, но сначала использует его, а затем система?
Windows CMD: переменная PATH — Добавить в PATH — Echo PATH
ПУТЬ
— это переменная среды, которая определяет набор каталогов, разделенных точками с запятой (;
), в которых находятся исполняемые программы.
В этой заметке я показываю, как распечатать содержимое переменной среды Windows PATH
из командной строки Windows.
Я также показываю, как добавить каталог в Windows PATH
навсегда или только для текущего сеанса.
Дельный Совет: Список переменных среды в Windows! Читать дальше →
Переменная PATH эхо-окна
Распечатать содержимое переменной Windows PATH
из cmd
:
C: \> путь
— или —
C: \> эхо% ПУТЬ%
Приведенные выше команды возвращают все каталоги в переменной среды Windows PATH
в одну строку, разделенную точкой с запятой (;
), что не очень удобно для чтения.
Чтобы распечатать каждую запись переменной Windows PATH
в новой строке, выполните:
C: \> echo% ПУТЬ:; = & echo.%
Дельный Совет: Установите переменные среды в Windows! Читать дальше →
Добавить в Windows PATH
Предупреждение! Это решение может быть разрушительным, поскольку Windows усекает PATH
до 1024 символов. Перед любыми изменениями сделайте резервную копию PATH
.
Сохраните содержимое переменной среды Windows PATH
в C: \ path-backup.txt
файл:
C: \> echo% PATH%> C: \ path-backup.txt
Установить ПУТЬ Windows для текущего сеанса
Установить переменную Windows PATH
для текущего сеанса:
C: \> установить PATH = "% PATH%; C: \ path \ to \ directory \"
Постоянно установить путь к Windows
Запуск от имени администратора: Команда setx
доступна только начиная с Windows 7 и требует командной строки с повышенными привилегиями.
Постоянно добавить каталог пользователю ПУТЬ
переменная:
C: \> setx path "% PATH%; C: \ path \ to \ directory \"
Постоянно добавить каталог в систему PATH
переменная (для всех пользователей):
C: \> setx / M путь "% PATH%; C: \ path \ to \ directory \"
Информация: Чтобы увидеть изменения после запуска setx
— откройте новую командную строку.
переменных среды для приложений Java
Что такое переменные среды?
Переменные среды — это глобальные системные переменные , доступные всем процессам / пользователям, работающим в операционной системе (ОС), например Windows, macOS и Linux. Переменные среды полезны для хранения общесистемных значений, например,
-
PATH
: наиболее часто используемая переменная среды, в которой хранится список каталогов для поиска исполняемых программ. -
OS
: операционная система. -
COMPUTENAME
,USERNAME
: хранит компьютер и текущее имя пользователя. -
SystemRoot
: корневой каталог системы. - (Windows)
HOMEDRIVE
,HOMEPATH
: домашний каталог текущего пользователя.
(Windows) Переменные среды
Переменные среды в Windows НЕ чувствительны к регистру (потому что устаревшая DOS НЕ чувствительна к регистру).Обычно они называются прописными буквами, а слова соединяются подчеркиванием ( _
), например JAVA_HOME
.
Переменные среды отображения и их значения
Чтобы вывести ВСЕ переменные среды и их значения, запустите CMD и введите команду « set
», как показано ниже:
комплект ИМЯ КОМПЬЮТЕРА = xxxxxxx OS = xxxxxxx ПУТЬ = xxxxxxx .......
Попробуйте ввести в своей системе команду « set
» и изучите перечисленные переменные среды.Обратите особое внимание на переменную PATH
.
Чтобы отобразить конкретную переменную, используйте команду « set varname
» или « echo% varname %
»:
набор ИМЯ КОМПЬЮТЕРА ИМЯ КОМПЬЮТЕРА = xxxxxx echo% ИМЯ КОМПЬЮТЕРА% ИМЯ КОМПЬЮТЕРА = xxxxxx
Установить / снять / изменить переменную среды для «текущего» сеанса CMD
Чтобы установить (или изменить) переменную среды, используйте команду « set varname = value
».Перед знаком '='
не должно быть пробелов. Чтобы отключить переменную среды, используйте « set varname =
», т.е. установите для нее пустую строку.
набор имя переменной набор имя переменной = значение установить имя переменной = комплект | Показать значение переменной Установите или измените значение переменной (Примечание: без пробелов до и после '=') Удалите переменную, установив пустую строку (Примечание: ничего после '=') Показать ВСЕ переменные среды |
Например,
установить MY_VAR = hello комплект MY_VAR MY_VAR = привет установить MY_VAR = комплект MY_VAR Переменная окружения MY_VAR не определена
Переменная среды, установленная с помощью команды « set
» в CMD, — это локальная , доступная только для текущего сеанса CMD.Попробуйте установить переменную, перезапустите CMD и найдите переменную.
Использование переменной среды
Для ссылки на переменную в Windows используйте % varname %
(с префиксом и суффиксом '%'
). Например, вы можете использовать команду echo
для вывода значения переменной в форме « echo% varname %
».
эхо% ПУТЬ% ПУТЬ = xxxxxxx установить PATH = c: \ myBin;% PATH% ПУТЬ = c: \ myBin; [ существующие записи ]
Как «навсегда» добавить или изменить переменную среды
Для постоянного добавления / изменения переменной среды в Windows (чтобы она была доступна ВСЕМ процессам / пользователям Windows и оставалась при загрузке):
- Запустить «Панель управления»
- «Система»
- «Расширенные настройки системы»
- Перейти на вкладку «Дополнительно»
- «Переменные среды»
- Выберите «Системные переменные» (для всех пользователей)
- К добавьте новую переменную среды:
- Выберите «Новый»
- Введите переменную «Имя» и «Значение».Вместо того, чтобы вводить «значение» и допустить опечатку, я предлагаю вам использовать кнопку «Обзор каталога …» или «Обзор файла …» для поиска нужного каталога или файла.
- На изменить существующую переменную среды:
- Выберите «Редактировать»
- Введите новое «Значение». Вместо того, чтобы вводить «значение» и допустить опечатку, я предлагаю вам использовать кнопку «Обзор каталога …» или «Обзор файла …» для поиска нужного каталога или файла.
Вам необходимо RE-START CMD, чтобы новые настройки вступили в силу!
Чтобы проверить новую настройку, запустите CMD:
установить VAR_NAME VAR_NAME = VAR_VALUE
Переменная среды PATH в Windows
Когда вы запускаете исполняемую программу (с расширением файла « .exe
», « .bat
» или « .com
») из оболочки CMD, Windows ищет исполняемую программу в текущем рабочем каталоге . , за которым следуют все каталоги, перечисленные в переменной среды PATH
.Если программа не может быть найдена в этих каталогах, вы получите следующую ошибку:
abc 'abc' не распознается как внутренняя или внешняя команда, действующая программа или командный файл. abc Неверная команда или имя файла
Чтобы просмотреть текущий PATH
, введите команду:
ПУТЬ ПУТЬ = путь2; путь2; путь4; ...
Как добавить каталог в ПУТЬ в Windows
Чтобы добавить каталог к существующему PATH
в Windows:
- Запустить «Панель управления»
- «Система»
- «Расширенные настройки системы»
- Перейти на вкладку «Дополнительно»
- «Переменные среды»
- В разделе «Системные переменные» (для всех пользователей) выберите «Путь»
- «Редактировать»
- (для более новой версии Windows 10) Появится таблица с каталогами, включенными в текущую настройку ПУТЬ ⇒ «Новый» ⇒ «Обзор»… «, чтобы выбрать желаемый каталог, который будет добавлен в ПУТЬ (Не вводите, так как вы допустите опечатку!) ⇒ Несколько раз нажмите кнопку« Вверх », чтобы переместить его наверх ⇒« ОК »(не« Отмена » «) ⇒« ОК »⇒« ОК ».
- (для старых версий Windows) Если вы не видели всплывающую таблицу, пора сменить компьютер.
Вам необходимо RE-START CMD, чтобы новая настройка PATH вступила в силу!
Чтобы проверить новую настройку, запустите CMD:
ПУТЬ ПУТЬ = путь2; путь3; путь4 ;...
Примечания:
- Windows выполняет поиск в текущем каталоге (
.
) перед поиском записейPATH
. (Unix / macOS не выполняет поиск в текущем каталоге, если вы явно не включили его в PATH.) - Windows использует точку с запятой (
;
) в качестве разделителя пути; в то время как Unix / macOS использует двоеточие (:
). - Если имя вашего каталога содержит специальные символы, такие как пробел (настоятельно не рекомендуется), заключите его в двойные кавычки.
(macOS / Linux) Переменные среды
Переменные среды в macOS / Unix чувствительны к регистру. Глобальные переменные среды (доступные для ВСЕХ процессов) называются в верхнем регистре, а слова соединяются подчеркиванием ( _
), например, JAVA_HOME
. Локальные переменные (доступные только текущему процессу) записываются в нижнем регистре.
Использование переменных среды в Bash Shell
Большинство Unix (Ubuntu / macOS) используют так называемую оболочку Bash .Под оболочкой bash
:
- Чтобы вывести список всех переменных среды, используйте команду «
env
» (или «printenv
»). Вы также можете использовать «set
» для вывода списка всех переменных, включая все локальные переменные. - Для ссылки на переменную используйте
$ имя переменной
с префиксом$
(Windows использует% имя переменной %
). - Чтобы напечатать значение конкретной переменной, используйте команду «
echo $ varname
». - Чтобы установить переменную среды, используйте команду «
export varname = value
», которая устанавливает переменную и экспортирует ее в глобальную среду (доступную для других процессов). Заключите значение значение в двойные кавычки, если оно содержит пробелы. - Чтобы установить локальную переменную, используйте команду «
имя_переменной
= значение
» (или «установить
имя_переменной
= значение
»).Локальная переменная доступна только в этом процессе. - Чтобы сбросить локальную переменную, используйте команду «
имя_переменной
=
», т.е. установите пустую строку (или «сбросить
имя_переменной
»).
Как установить переменную среды на постоянной основе в Bash Shell
Вы можете установить переменную среды навсегда, поместив команду export
в сценарий запуска оболочки Bash « ~ / .bashrc
» (или "~ /.bash_profile
«или» ~ / .profile
«) вашего домашнего каталога; или» / etc / profile
«для общесистемных операций. Обратите внимание, что файлы, начинающиеся с точки (.
), по умолчанию скрыты. . Чтобы отобразить скрытые файлы, используйте команду « ls -a
» или « ls -al
».
Например, чтобы добавить каталог в переменную среды PATH
, добавьте следующую строку в конец «~ / .bashrc
» (или «~ / .bash_profile
» или « ~ /.profile
«), где ~
обозначает домашний каталог текущего пользователя или» / etc / profile
«для ВСЕХ пользователей.
экспорт ПУТЬ = / usr / local / mysql / bin: $ PATH
(для Java) Вы можете установить переменные среды CLASSPATH
, добавив следующую строку. Например,
экспорт CLASSPATH =.: / usr / local / tomcat / lib / servlet-api.jar
Обратите внимание, что оболочка Bash использует двоеточие (:
) в качестве разделителя пути; в то время как окна используют точку с запятой (;
).
Чтобы обновить оболочку bash, введите команду « source
» (или перезапустите оболочку bash):
исходный код ~ / .bashrc источник ~ / .bash_profile источник ~ / .profile источник / etc / profile
(Примечания) Для старых csh (C-shell) и ksh (Korn-shell)
- Используйте «
printenv
» (или «env
»), чтобы перечислить все переменные среды. - Используйте «
setenv имя переменной, значение
» и «unsetenv имя переменной
», чтобы установить и отключить переменную среды. - Используйте «
set varname = value
» и «unset varname
», чтобы установить и сбросить локальную переменную для текущего процесса.
Переменная среды PATH
Большинство Unix и macOS используют так называемую оболочку Bash Shell в « Terminal ». Когда вы запускаете исполняемую программу (с разрешением файла исполняемый файл ) в оболочке Bash, система ищет программу во ВСЕХ каталогах, перечисленных в PATH
.Если программа не может быть найдена, вы получите следующую ошибку:
abc bash: abc: команда не найдена
Обратите внимание, что текущий каталог (.
) не ищется, если он не включен в PATH
. Чтобы запустить программу в текущем каталоге, вам необходимо указать текущий путь ( ./
), например
./myProgram
Чтобы просмотреть текущий PATH
, введите команду:
echo $ PATH путь2: путь3: путь4 :...
Как добавить каталог в PATH в macOS / Linux
Чтобы добавить каталог к существующему PATH
в macOS / Unix, добавьте следующую строку в конце одного из сценариев запуска, например «~ / .bashrc
», « ~ / .login
» «~ / .bash_profile
», « ~ / .profile
» (где ~
обозначает домашний каталог текущего пользователя) или « / etc / profile
» для ВСЕХ пользователей.
экспорт ПУТЬ = / путь / в / каталог: $ ПУТЬ
Чтобы обновить оболочку bash, введите команду « source
» (или перезапустите оболочку bash):
источник ~ /.bashrc источник ~ / .bash_profile источник ~ / .profile источник / etc / profile
Чтобы проверить новую настройку, запустите CMD:
echo $ PATH путь2: путь3: путь4: ...
Примечания:
- Unix / macOS не выполняет поиск в текущем каталоге (
.
), если вы явно не включили его вPATH
. Другими словами, чтобы запустить программу в текущем каталоге, вам необходимо указать каталог (./
), например,./myProgram
Вы можете включить текущий каталог в
PATH
, добавив эту строку в сценарий запуска:экспорт PATH =.: $ PATH
(Windows автоматически выполняет поиск в текущем каталоге (
,
) перед поиском в PATH.) - Unix / macOS использует двоеточие (
:
) в качестве разделителя пути; в то время как Windows использует точку с запятой (;
).
Приложения Java и переменные среды PATH, CLASSPATH, JAVA_HOME
Многие проблемы при установке и запуске приложений Java вызваны неправильной настройкой переменных среды ( глобальные системные переменные доступны всем процессам / пользователям, работающим под операционной системой), в частности PATH
, CLASSPATH
и JAVA_HOME
.
ПУТЬ
Когда вы запускаете программу из командной строки, операционная система использует переменную среды PATH
для поиска программы в вашей локальной файловой системе. Другими словами, PATH
поддерживает список каталогов для поиска исполняемых программ .
ПУТЬ (для Windows)
Когда вы запускаете исполняемую программу (с расширением файла « .exe
», « .bat
» или « .com
») из оболочки CMD, Windows ищет исполняемую программу в текущем рабочем каталоге . , за которым следуют все каталоги, перечисленные в переменной среды PATH
.Если программа не может быть найдена в этих каталогах, вы получите следующую ошибку:
abc 'abc' не распознается как внутренняя или внешняя команда, действующая программа или командный файл. abc Неверная команда или имя файла
Например, если вы пытаетесь использовать компилятор Java « javac.exe
» для компиляции исходного файла Java, но « javac.exe
» не может быть найден в текущем каталоге и во всех каталогах в PATH
, вы получите следующую ошибку:
javac Привет.Java 'javac' не распознается как внутренняя или внешняя команда, действующая программа или командный файл.
PATH
поддерживает список каталогов. В Windows каталоги разделяются точкой с запятой (;
).
Для приложений Java PATH
должен включать следующие каталоги:
- Каталог JDK «
bin
» (двоичный) (например, «c: \ Program Files \ java \ jdk1.x.x \ bin
»), который содержит программы JDK, такие как Java Compiler «javac.exe
«и среда выполнения Java»java.exe
«. - «
c: \ windows \ system32
» и «c: \ windows
», которые содержат консольные программы и команды.
Каталог JDK « bin
» должен быть указан перед « c: \ windows \ system32
» и « c: \ windows
» в PATH
. Это связано с тем, что некоторые старые системы Windows предоставляют свою собственную среду выполнения Java (которая часто устарела) в этих каталогах (попробуйте выполнить поиск по запросу « java.exe
«на вашем компьютере, вы можете найти несколько записей).
Чтобы добавить каталог (скажем, JDK « bin
») к существующему PATH, отметьте «Как добавить каталог в PATH».
ПУТЬ (для macOS / Linux)
Большинство Unix и macOS используют так называемую оболочку Bash Shell в « Terminal ». Когда вы запускаете исполняемую программу (с разрешением файла исполняемый файл ) в оболочке Bash, система ищет программу во ВСЕХ каталогах, перечисленных в PATH
.Если программа не может быть найдена, вы получите следующую ошибку:
abc bash: abc: команда не найдена
Например, если вы пытаетесь использовать компилятор Java « javac
» для компиляции исходного файла Java, но « javac
» не может быть найден в списке каталогов в PATH
, вы получите следующее ошибка:
javac Hello.java bash: javac: команда не найдена
Для поддержки приложений Java необходимо включить каталог JDK « bin
» (двоичный) в PATH.См. «Как добавить каталог в ПУТЬ».
КЛАСС
Файл архива Java (JAR)
Для простоты распространения классы Java часто архивируются (заархивированы) вместе в так называемый файл JAR. Чтобы использовать сторонний пакет Java, вам необходимо поместить распределенный файл JAR в место, доступное для компилятора Java и среды выполнения Java.
Как находятся классы?
Java Compiler (« javac
»), Java Runtime (« java
») и другие инструменты Java выполняют поиск классов, используемых в вашей программе, в следующем порядке:
- Классы платформы Java (начальной загрузки): включают системные классы в основные пакеты (
java.*
) и пакеты расширения (javax. *
) в «rt.jar
» (класс времени выполнения), «i18n.jar
» (класс интернационализации),charsets.jar
,jre / classes
, и другие. - Каталоги расширений Java: вы можете копировать внешние файлы JAR в каталог расширений Java (это удалено и неприменимо из JDK 10).
- Для Windows каталог расширений Java находится в «
\ jre \ lib \ ext c: \ Program Files \ Java \ jdk1.7.0_ {xx} \ jre \ lib \ ext
«). - Для macOS каталогами расширений JDK являются «
/ Library / Java / Extensions
» и «/ System / Library / Java / Extensions
». - Для Ubuntu каталоги расширений JDK: «
/ jre / lib / ext /usr/user/java/jdk1.7.0_{xx}/jre/lib/ext
») и «/ usr / java / packages / lib / ext
».
Расположение каталогов расширений Java хранится в системном свойстве Java «
java.ext.dirs
«. Вы можете распечатать его содержимое черезSystem.out.println (System.getProperty (" java.ext.dirs "))
. - Для Windows каталог расширений Java находится в «
- Путь поиска классов пользователей (кратко, путь к классам): определяется в следующем порядке:
- По умолчанию используется текущий рабочий каталог (
.
). - Записи в переменной среды
CLASSPATH
, которая отменяет значение по умолчанию. - Записи в параметре командной строки
-cp
(или-classpath
), который переопределяет переменную средыCLASSPATH
. - Параметр командной строки времени выполнения
-jar
, который отменяет все вышеперечисленное.
Пути пользовательских классов хранятся в системном свойстве Java «
java.class.path
».Рекомендуется использовать параметр командной строки
-cp
(или-classpath
) (настроенный для каждого из ваших приложений) вместо установки постоянной средыCLASSPATH
для всех приложений Java. IDE (например, Eclipse / NetBeans) управляет-cp
(-classpath
) для каждого из приложений и не полагается на средуCLASSPATH
. - По умолчанию используется текущий рабочий каталог (
Не удается найти классы
Если среда выполнения Java (« java
») не может найти классы, используемые в вашей программе, во всех перечисленных выше местах, она выдаст ошибку «Не удалось найти или загрузить основной класс xxxx» (JDK 1.7) или «java.lang. NoClassDefFoundError «(до JDK 1.7).
Точно так же компилятор Java (« javac
») будет выдавать ошибки компиляции, такие как «не удается найти символ», «пакет не существует».
Примечания: Внешние собственные библиотеки («.lib
«,» .dll
«,» .a
«,» .so
«) должны быть найдены в пути в свойстве JRE» java.library.path
«, который обычно , но не обязательно включает все каталоги в переменной среды PATH
. В противном случае вы получите ошибку времени выполнения « java.lang.UnsatisfiedLinkError: no xxx in java.library.path
».
Переменная среды CLASSPATH
Переменная среды CLASSPATH
может включать каталоги (содержащие множество файлов классов) и файлы JAR (однофайловый архив файлов классов).Если CLASSPATH
не установлен, по умолчанию используется текущий каталог. Если вы устанавливаете CLASSPATH
, важно включить текущий рабочий каталог (.
). В противном случае поиск в текущем каталоге выполняться не будет.
Общая проблема при запуске программы hello-world: CLASSPATH
установлен, но не включает текущий рабочий каталог. Таким образом, поиск в текущем каталоге не производится, что приводит к появлению сообщения «Ошибка: не удалось найти или загрузить основной класс Hello».Вы можете просто удалить CLASSPATH
и оставить путь к классу по умолчанию для текущего каталога.
Для новичка явная настройка CLASSPATH
не требуется. Значение по умолчанию CLASSPATH
текущего каталога достаточно. Удалите все настройки CLASSPATH
, если они есть. Однако, если вам нужно установить CLASSPATH
, убедитесь, что вы включили текущий каталог '.'
.
Переменная среды PATH
(для поиска исполняемых программ) применима ко всем приложениям; в то время как CLASSPATH
используется только Java.
Прочтите документы JDK «Установка CLASSPATH
» и «Как находятся классы» (вы можете найти гиперссылки на индексной странице документации JDK или в поисковой системе).
Переменная среды CLASSPATH (для Windows)
CLASSPATH
принимает каталоги и jar-файлы. Записи пути разделяются точкой с запятой (;
).
Пример: отображение и изменение CLASSPATH
для текущего сеанса CMD.
комплект CLASSPATH установить CLASSPATH =.; d: \ tomcat \ lib \ servlet-api.jar
Вы можете установить CLASSPATH
постоянно. См. «Как установить переменную среды».
CLASSPATH (для macOS / Ubuntu)
- Чтобы установить
CLASSPATH
для текущего сеанса, введите следующую команду:экспорт CLASSPATH =.: / usr / local / tomcat / bin / servlet-api.jar
Используйте двоеточие «
:
» в качестве разделителя пути (вместо точки с запятой «;
» в Windows). - Чтобы установить
CLASSPATH
постоянно, поместите указанную выше команду экспорта в сценарий инициализации оболочки bash (.bashrc
или.bash_profile
домашнего каталога или/ etc / profile
для всех пользователей). См. «Как установить переменную окружения».
JAVA_HOME и JRE_HOME
Многие приложения Java (например, Tomcat) требуют, чтобы переменная среды JAVA_HOME
была установлена в установленный каталог JDK.
Как установить JAVA_HOME в Windows
Во-первых, проверьте, установлен ли уже JAVA_HOME
, запустив CMD и выдав:
набор JAVA_HOME
Если JAVA_HOME
не задано, вы получите сообщение «Переменная среды JAVA_HOME не определена».В противном случае будет отображаться текущая настройка.
Для установки / изменения JAVA_HOME
в Windows:
- Запустить «Панель управления»
- «Система»
- «Расширенные настройки системы»
- Перейти на вкладку «Дополнительно»
- «Переменные среды»
- Выберите «Системные переменные» (для всех пользователей)
- К добавьте новую переменную среды «
JAVA_HOME
»:- Выберите «Новый»
- В поле «Имя переменной» введите «JAVA_HOME».
- В «Значение переменной» нажмите «Обзор каталога …» и перейдите в каталог с установленным JDK (например, «
C: \ Program Files \ Java \ jdk-15.0.xx
»). - ОК ⇒ ОК ⇒ ОК.
- На измените существующую настройку «
JAVA_HOME
»:- Выберите «
JAVA_HOME
» ⇒ «Изменить» - В «Значение переменной» нажмите «Обзор каталога …» и перейдите в каталог с установленным JDK (например,g., «
C: \ Program Files \ Java \ jdk-15.0.xx
«). - ОК ⇒ ОК ⇒ ОК.
- Выберите «
Вам необходимо RE-START CMD, чтобы новые настройки вступили в силу!
Чтобы проверить новую настройку, перезапустите CMD:
набор JAVA_HOME JAVA_NAME = C: \ Program Files \ Java \ jdk-13.0.1
Как установить JAVA_HOME в Linux / macOS (Bash Shell)
Сначала проверьте, установлен ли уже JAVA_HOME
, запустите терминал и введите:
эхо $ JAVA_HOME
JAVA_HOME
должен быть установлен в установленный каталог JDK.Вам нужно найти установленный каталог JDK.
[TODO] найти установленный каталог macOS и Ubuntu JDK.
Добавьте следующую строку в конец «~ / .bashrc
» (или « ~ / .login
»). Обратите внимание, что имя файла, начинающееся с точки (.
), по умолчанию скрыто.
[TODO] Как отменить скрытие для macOS / Ubuntu.
экспорт JAVA_HOME = / путь / в / JDK-установленный-каталог
Вам необходимо обновить оболочку bash, чтобы новые настройки вступили в силу.Введите команду « источник
» следующим образом:
исходный код ~ / .bashrc эхо $ JAVA_HOME
Windows против Unix / macOS
Java не зависит от платформы. Классы Java работают как в Windows, так и в Unix — бинарно совместимы.
- Unix-системы имеют много оболочек, например, более новый
bash
и более старыйcsh
,ksh
. В Windows есть две оболочки: более новаяcmd.exe
и более старая команда.com
. Каждая оболочка поставляется со своим собственным набором команд, утилит и собственным языком программирования сценариев. - Имя переменной Unix обозначается как
$ имя переменной
, например,$ CLASSPATH
. Windows использует% varname %
, например,% CLASSPATH%
. - Unix использует команду «
printenv
» (среда печати) или «env
» для вывода списка всех переменных среды. Windows использует команду «установить
». - Unix
PATH
постоянно устанавливается в сценарии входа или инициализации оболочки (например, «~ / .login
», «~ / .profile
», «~ / .bashrc
», «~ /. bash_profile
«или»/ etc / profile
«). WindowsPATH
постоянно устанавливается через Панель управления ⇒ Система ⇒ …. - Текущий каталог НЕ включен в ПУТЬ Unix неявно. Чтобы запустить программу в текущем каталоге, необходимо ввести «
./ programName
«где».
«обозначает текущий каталог. Рекомендуется явно включить текущий каталог (.
) вPATH
. С другой стороны, текущий каталог включен в WindowsPATH
неявно. - Путь Windows включает букву диска и каталоги. У каждого диска есть корневой каталог. В качестве разделителя каталогов используется обратная косая черта
'\'
(например, «c: \ jdk1.6 \ bin
»). Пути Linux не имеют буквы диска.Есть единый корень. Unix использует косую черту'/'
в качестве разделителя каталогов (например, «/usr/bin/jdk1.6
»). - Windows использует точку с запятой
';'
в качестве разделителя пути (например, в переменной средыPATH
), а в Unix используется двоеточие':'
. - Windows / DOS использует «
0D0AH
» (возврат каретки плюс перевод строки) в качестве разрыва строки (или конца строки (EOL), или новой строки). Unix / macOS использует только «0AH
» (перевод строки).
Путь — Путь поиска исполняемых файлов — Windows CMD
Путь — Путь поиска исполняемых файлов — Windows CMD — SS64.com
Отображение или установка пути поиска исполняемых файлов в командной строке.
Синтаксис ПУТЬ путь [; путь ] [; путь ] [; путь ] ... ДОРОЖКА ДОРОЖКА ; Ключ путь: буква диска и / или папка ; : команда 'ПУТЬ;' расчистит путь
ПУТЬ без параметров отобразит текущий путь.
Переменная среды% PATH% содержит список папок. Когда в командной строке CMD вводится команда, операционная система сначала ищет исполняемый файл в текущей папке, а если он не найден, она просканирует% PATH%, чтобы найти его.
Используйте команду PATH для отображения или изменения списка папок, хранящихся в переменной среды% PATH%
В переменной среды PATH не используются пробелы для разделения каталогов. В нем используются точки с запятой:;
Вам не нужно заключать каждую часть пути в двойные кавычки, PATH автоматически рассматривает пробелы как часть имени файла.
Обратная косая черта в конце допустима, но не обязательна, каждая часть PATH всегда рассматривается как каталог, а не файл.
В частности,
PowerShell будет игнорировать любой узел пути, разделенный двойными кавычками.
По умолчанию Windows не добавляет точку с запятой в конец пути, но некоторые установщики программ делают это (неправильно). Это может привести к появлению двойных точек с запятой в списке путей, создавая запись узла NULL.
Чтобы просмотреть каждый элемент пути в отдельной строке, используйте это:
Для% G in («% path:; =» «%») выполните @echo:% ~ G
Или в пакетном файле:
Для %% G in («% path:; =» «%») выполните @echo: %% ~ G
Альтернативно замена точки с запятой на ECHO: для создания новой строки:
ЭХО:% ПУТЬ:; = & ЭХО:%
Чтобы добавить элементы к текущему пути, включите% PATH% в новую настройку:
PATH =% PATH%; C: \ Program Files \ My Application
Постоянные изменения
Изменения, сделанные с помощью команды PATH, НЕ являются постоянными, они применяются только к текущему запросу CMD и остаются только до закрытия окна CMD.
Для постоянного изменения пути используйте
Панель управления> Система> Расширенные настройки системы> Переменные среды.Переменная% PATH% задается как системная, так и как пользовательская переменная, два значения объединяются, чтобы получить PATH для текущего пользователя, вошедшего в систему. Это полностью объясняется в статье поддержки продуктов MS Q100843
.
[HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ Environment]
[HKCU \ Environment]С осторожностью используйте такие команды, как SETX, для изменения ПУТЬ. Путь пользователя можно редактировать, но системный путь остается доступным только для чтения для большинства пользователей.Если вы попытаетесь удалить старое значение и добавить новое, очень часто «удалить» не удается, а «добавить» — успешно, что приводит к добавлению в путь повторяющихся значений.
Для программного изменения PATH необходимо учитывать несколько ловушек:
Случайные кавычки или разделители точки с запятой в текущем пути, Дублирующиеся записи в пользовательских путях и системы , также дублируются в любом из них (Windows не проверяет и не предупреждает об этом), максимальная длина системного пути ( примерно 2 КБ или всего 7 путей из максимум 260 символов), и, наконец, проверка любых зависимостей в других приложениях (если путь, который вы добавляете или удаляете, может использоваться ими).Чтобы изменить путь для добавления настроек для одного приложения, можно использовать вторую переменную:
напримерSetX MYAPP «C: \ Program Files \ My App» -m
Теперь включите новую переменную в путь, например, так … C: \ Windows \ system32;% MYAPP%
Теперь вы можете легко изменить эту одну переменную% MYAPP% в любое время в будущем, и PATH будет отражать новую значение.
- Изменение переменной в Панели управления не повлияет на уже открытую подсказку CMD, только новые подсказки CMD получат новую настройку.
- Для изменения системной переменной необходимы права администратора
- Если в вашей системе есть файл AUTOEXEC.BAT, то любой параметр PATH в AUTOEXEC.BAT также будет добавлен к переменной среды% PATH%. Это сделано для обеспечения совместимости со старыми процедурами установки, которым необходимо задать PATH. Все остальные команды в AUTOEXEC.BAT игнорируются.
PathExt
Если вы запускаете / запускаете приложение без расширения файла (например, WinWord вместо WinWord.exe), тогда будет прочитана переменная среды PATHEXT для определения
какие расширения файлов искать и в каком порядке.
Значение по умолчанию для переменной PATHEXT: .COM; .EXE; .BAT; .CMD
.
Многие утверждают, что .CMD должен иметь более высокий приоритет, чем унаследованный .BAT.
Dpath
DPATH — это недокументированная внутренняя утилита, которая позволяет команде TYPE читать файлы данных в указанных каталогах, как если бы они находились в текущем каталоге.В некоторых ОС это также реализовано как устаревшая команда APPEND. Список каталогов хранится в переменной среды% DPATH%, которая работает так же, как переменная% PATH%, разделенная точками с запятой (не кавычками). Синтаксис: DPATH путь [; путь ] …
Чтобы ввести любой файл по пути:
C: \ batch \> введите win.ini
Система не может найти указанный файл.
C: \ batch \> dpath% путь%
C: \ batch \> введите win.ini
Терминология — имя файла, путь, путь
Для файла, хранящегося как:
C: \ Program Files \ Windows Media Player \ wmplayer.exeДиск:
C:Имя файла:
wmplayer.exeРасширение файла:
.exeПуть:
\ Program Files \ Windows Media Player \Путь:
C: \ Program Files \ Windows Media Player \ wmplayer.exe(так что диск + путь + имя файла = путь)
Если в ссылке на файл используется только имя файла, а не полный путь, то это будет работать, только если файл находится в текущем каталоге или указан в PATH.
Пути для приложений Windows с графическим интерфейсом
Начиная с Windows 95, доступен раздел реестра App Paths, в котором можно указать расположение определенных исполняемых файлов с именами файлов. Заполнение этого поля избавляет приложения от необходимости изменять системную переменную среды PATH.
Ключи можно найти в следующих двух местах реестра, а полная документация по ним находится на docs.microsoft.com
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Пути приложений
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Пути приложенийИмя файла, используемое в Пути приложений, не обязательно должно совпадать с файлом назначения.
Уровни ошибок
Когда включены расширения команд CMD (по умолчанию):
Если Путь был успешно изменен% ERRORLEVEL% = без изменений , обычно это будет 0, но если предыдущая команда установила уровень ошибки, он будет сохранен (это ошибка).
Если Путь не может быть изменен% ERRORLEVEL% = 1
ПУТЬ — внутренняя команда.
«Если вы не любите свою работу, поменяйте ее.Вместо того, чтобы толкать бумагу, продвигайте идеи. Вместо того, чтобы сидеть, встаньте и пусть вас услышат. Вместо того, чтобы жаловаться, вносите свой вклад. не зацикливайтесь на описании должности »- объявление о вакансии Microsoft
Связанные команды:
SET — отображение, установка или удаление переменных среды.
Путь исправления — Утилита Билла Стюарта PATH.
PATHMAN — утилита Resource Kit — изменяет системные и пользовательские пути. Разрешить дубликаты. См. Pathman.wri в наборе ресурсов.
Как проверить, существует ли каталог в% PATH%? — Переполнение стека.com
Порядок поиска в динамически подключаемой библиотеке — docs.microsoft.com
Путь (вычисления) — Википедия
Эквивалент PowerShell: DIR Env: или «$ Env: path»
Эквивалентная команда bash (Linux): env — отображение, установка или удаление переменных среды — PATH / CDPATH / MAILPATH
Авторские права © 1999-2021 SS64.com
Некоторые права защищены. Пакетный файл
— Как получить только переменную пути пользователя?
Системная переменная PATH
хранится в реестре Windows со значением Путь
типа REG_EXPAND_SZ
, содержащим ссылки на переменные среды, такие как % SystemRoot%
, или, если это неверно, изменено приложением типа REG_SZ
без среды ссылки на переменные под ключом
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ Environment
Пользователь PATH
переменная по умолчанию не существует в реестре Windows, но хранится в реестре Windows со значением Путь
типа REG_EXPAND_SZ
или REG_SZ
, однажды созданный приложением или вручную пользователем под ключом
HKEY_CURRENT_USER \ Среда
Внешняя команда REG с командой QUERY
может использоваться для чтения значения переменной системы или пользователя PATH
непосредственно из реестра Windows со стандартными правами пользователя.> nul ‘) do if / I «%% N» == «Путь» call set «UserPath = %% P» и goto UserPathRead
echo Пользовательский PATH не определен.
эхо /
Пауза
goto: EOF
: UserPathRead
echo Пользовательский ПУТЬ:% UserPath%
эхо /
установить «UserPath =»
Пауза
Формат вывода запроса reg
зависит от версии Windows, что делает необходимым дополнительное условие IF без учета регистра. Дополнительные сведения о формате вывода reg-запроса
см., Например, в разделе «Чтение реестра NT с помощью запроса REG», написанного Робом ван дер Вуде.
Пример вывода reg-запроса HKCU \ Environment / v Путь
в Windows XP :
! REG.EXE ВЕРСИЯ 3.0
HKEY_CURRENT_USER \ Среда
Путь REG_SZ C: \ BatUtils
Есть пустая строка в начале и еще одна в конце вывода, а также строка заголовка и еще одна пустая строка над строкой с ключом реестра.
Строка с интересующими данными начинается с 4-х пробелов и имеет следующее имя переменной среды без учета регистра Путь
.Затем выводится одиночный символ горизонтальной табуляции слева от типа значения реестра REG_SZ
. Наконец, перед выводом строкового значения Path
есть еще один символ горизонтальной табуляции , который может также содержать 1 или более пробелов.
Пример вывода reg-запроса HKCU \ Environment / v Путь
в Windows 7 :
HKEY_CURRENT_USER \ Среда
Путь REG_SZ C: \ BatUtils
Также есть пустая строка в начале и еще одна в конце вывода.Но заголовка нет. Вторая строка уже содержит ключ реестра.
Строка с интересующими данными начинается с 4-х пробелов и имеет следующее имя переменной среды без учета регистра Путь
. Тогда 4 пробела вместо табуляции выводятся слева от типа значения реестра REG_SZ
. Наконец, снова 4 пробела вместо табуляции перед выводом строкового значения Путь
, которое может также содержать 1 или более пробелов. интерпретируется как буквальный символ при синтаксическом анализе командной строки FOR интерпретатором команд Windows, но как оператор перенаправления при последующем выполнении командной строки REG в отдельном фоновом командном процессе.
Параметры FOR , определенные с помощью "skip = 2 tokens = 1,2 *"
, приводят к пропуску первых 2 строк вывода REG и разделению других строк на 3 подстроки (токены) с использованием пробелов разделителей по умолчанию. и табл.
Первая строка, разделенная пробелами / табуляцией, назначается первой переменной цикла N
, которая является именем переменной при достижении строки с интересующими данными.
Вторая подстрока, являющаяся типом значения реестра, назначается переменной цикла O
, которая является следующим символом в таблице ASCII. Такое поведение является причиной того, что переменные цикла FOR чувствительны к регистру.
Все, что находится после пробелов / табуляции после второй подстроки, назначается переменной цикла P
без разделения остальной части строки из-за *
в строке параметров после tokens = 1,2
.
Таким образом, в Windows Vista и более поздних версиях Windows команда FOR обрабатывает как первую строку из вывода REG строку с Path
, тогда как в Windows XP первая обрабатываемая строка — это строка с ключом реестра, что является причиной того, почему условие IF необходимо.
Команда GOTO используется для выхода из цикла FOR после успешного чтения переменной user PATH
из реестра Windows и для перехода к командному блоку для дальнейшей обработки после чтения существующего пользователя PATH
.Но командный блок ниже цикла FOR достигается, если пользовательская переменная PATH
вообще не существует в реестре Windows.
Для полноты код партии до
- читать систему И пользователь
ПУТЬ
из реестра Windows, - объединить обе переменные
PATH
сPATH
с перезаписью localPATH
в текущем командном процессе в текущей среде, - развернуть переменные среды в
PATH значение
, - заменить все
;;
на;
вPATH
значение и - удалить
;
от конца значенияPATH
, если оно есть.
Этот пакетный код не проверяет, как Windows, если пользователь PATH
содержит 1 или несколько путей к каталогам, уже присутствующих в системе PATH
перед их объединением. Таким образом, возможно, что путь к каталогу находится в local PATH
, наконец, присутствует более одного раза.
@ эхо выкл.
rem Получить непосредственно из реестра Windows значение системной переменной PATH.
установить "SystemPath ="
for / F "skip = 2 tokens = 1,2 *" %% N in ('% SystemRoot% \ System32 \ reg.> нуль ') делать (
if / I "%% N" == "Путь" (
установить "UserPath = %% P"
goto SetPath
)
)
rem Объедините два значения PATH в одно значение и разверните переменные.
rem Удалите две переменные среды, которые больше не нужны.
rem Затем замените все две последовательные точки с запятой на одну точку с запятой.
rem Последний удаляет точку с запятой из конца списка каталогов, если таковая имеется.
: SetPath
набор вызовов "PATH =% SystemPath%;% UserPath%"
установить "SystemPath ="
установить "UserPath ="
установить "ПУТЬ =% ПУТЬ: ;; =;%"
if "% PATH: ~ -1%" == ";" установить "ПУТЬ =% ПУТЬ: ~ 0, -1%"
Чтобы понять, какие команды используются и как они работают, откройте окно командной строки, выполните в нем следующие команды и внимательно прочтите все страницы справки, отображаемые для каждой команды.
-
звонок /?
-
эхо /?
-
для /?
-
перейти /?
-
если /?
-
пауза /?
-
рег /?
-
reg запрос /?
-
бэр /?
-
комплект /?
Прочтите также статью Microsoft об использовании операторов перенаправления команд для объяснения 2> nul
и ответ на тему переполнения стека. Одна строка с несколькими командами с использованием командного файла Windows для значения операторов и
в командной строке.
ZG International Zentica — Windows CMD: переменная PATH — Добавить в PATH
ПУТЬ
— это переменная среды, которая определяет набор каталогов, разделенных точками с запятой (;
), в которых находятся исполняемые программы.
В этой заметке я показываю, как распечатать содержимое переменной среды Windows PATH
из командной строки Windows.
Я также показываю, как добавить каталог в Windows PATH
навсегда или только для текущего сеанса.
Дельный Совет: Список переменных среды в Windows! Читать дальше →
Переменная PATH эхо-окна
Распечатать содержимое переменной Windows PATH
из cmd
:
C:> путь
— или —
C:> эхо% ПУТЬ%
Приведенные выше команды возвращают все каталоги в переменной среды Windows PATH
в одну строку, разделенную точкой с запятой (;
), что не очень удобно для чтения.
Чтобы распечатать каждую запись переменной Windows PATH
в новой строке, выполните:
C:> echo% ПУТЬ:; = & echo.%
Дельный Совет: Установите переменные среды в Windows! Читать дальше →
Добавить в Windows PATH
Предупреждение! Это решение может быть разрушительным, поскольку Windows усекает PATH
до 1024 символов. Перед любыми изменениями сделайте резервную копию PATH
.
Сохраните содержимое переменной среды Windows PATH
в C: path-backup.txt
файл:
C:> echo% PATH%> C: путь-backup.txt
Установить ПУТЬ Windows для текущего сеанса
Установить переменную Windows PATH
для текущего сеанса:
C:> установить PATH = "% PATH%; C: путь к каталогу"
Постоянно установить путь к Windows
Запуск от имени администратора: Команда setx
доступна только начиная с Windows 7 и требует командной строки с повышенными привилегиями.
Постоянно добавить каталог пользователю ПУТЬ
переменная:
C:> setx путь "% PATH%; C: путь к каталогу"
Постоянно добавить каталог в систему PATH
переменная (для всех пользователей):
C:> setx / M путь "% PATH%; C: путь к каталогу"
Информация: Чтобы увидеть изменения после запуска setx
— откройте новую командную строку.