Разное

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 – выполнить команду для группы файлов.








&nbsp &nbsp
Команда 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 вместо /pforfiles -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

  1. 0

  2. +0

  3. Авторизоваться
    Зарегистрироваться

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 и оставалась при загрузке):

  1. Запустить «Панель управления»
  2. «Система»
  3. «Расширенные настройки системы»
  4. Перейти на вкладку «Дополнительно»
  5. «Переменные среды»
  6. Выберите «Системные переменные» (для всех пользователей)
  7. К добавьте новую переменную среды:
    1. Выберите «Новый»
    2. Введите переменную «Имя» и «Значение».Вместо того, чтобы вводить «значение» и допустить опечатку, я предлагаю вам использовать кнопку «Обзор каталога …» или «Обзор файла …» для поиска нужного каталога или файла.
  8. На изменить существующую переменную среды:
    1. Выберите «Редактировать»
    2. Введите новое «Значение». Вместо того, чтобы вводить «значение» и допустить опечатку, я предлагаю вам использовать кнопку «Обзор каталога …» или «Обзор файла …» для поиска нужного каталога или файла.

Вам необходимо 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:

  1. Запустить «Панель управления»
  2. «Система»
  3. «Расширенные настройки системы»
  4. Перейти на вкладку «Дополнительно»
  5. «Переменные среды»
  6. В разделе «Системные переменные» (для всех пользователей) выберите «Путь»
  7. «Редактировать»
  8. (для более новой версии Windows 10) Появится таблица с каталогами, включенными в текущую настройку ПУТЬ ⇒ «Новый» ⇒ «Обзор»… «, чтобы выбрать желаемый каталог, который будет добавлен в ПУТЬ (Не вводите, так как вы допустите опечатку!) ⇒ Несколько раз нажмите кнопку« Вверх », чтобы переместить его наверх ⇒« ОК »(не« Отмена » «) ⇒« ОК »⇒« ОК ».
  9. (для старых версий 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 выполняют поиск классов, используемых в вашей программе, в следующем порядке:

  1. Классы платформы Java (начальной загрузки): включают системные классы в основные пакеты ( java.* ) и пакеты расширения ( javax. * ) в « rt.jar » (класс времени выполнения), « i18n.jar » (класс интернационализации), charsets.jar , jre / classes , и другие.
  2. Каталоги расширений Java: вы можете копировать внешние файлы JAR в каталог расширений Java (это удалено и неприменимо из JDK 10).
    • Для Windows каталог расширений Java находится в « \ jre \ lib \ ext » (e.g., « 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 ")) .

  3. Путь поиска классов пользователей (кратко, путь к классам): определяется в следующем порядке:
    1. По умолчанию используется текущий рабочий каталог (. ).
    2. Записи в переменной среды CLASSPATH , которая отменяет значение по умолчанию.
    3. Записи в параметре командной строки -cp (или -classpath ), который переопределяет переменную среды CLASSPATH .
    4. Параметр командной строки времени выполнения -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)
  1. Чтобы установить CLASSPATH для текущего сеанса, введите следующую команду:
    экспорт CLASSPATH =.: / usr / local / tomcat / bin / servlet-api.jar
     

    Используйте двоеточие «: » в качестве разделителя пути (вместо точки с запятой «; » в Windows).

  2. Чтобы установить 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:

  1. Запустить «Панель управления»
  2. «Система»
  3. «Расширенные настройки системы»
  4. Перейти на вкладку «Дополнительно»
  5. «Переменные среды»
  6. Выберите «Системные переменные» (для всех пользователей)
  7. К добавьте новую переменную среды « JAVA_HOME »:
    1. Выберите «Новый»
    2. В поле «Имя переменной» введите «JAVA_HOME».
    3. В «Значение переменной» нажмите «Обзор каталога …» и перейдите в каталог с установленным JDK (например, « C: \ Program Files \ Java \ jdk-15.0.xx »).
    4. ОК ⇒ ОК ⇒ ОК.
  8. На измените существующую настройку « JAVA_HOME »:
    1. Выберите « JAVA_HOME » ⇒ «Изменить»
    2. В «Значение переменной» нажмите «Обзор каталога …» и перейдите в каталог с установленным JDK (например,g., « C: \ Program Files \ Java \ jdk-15.0.xx «).
    3. ОК ⇒ ОК ⇒ ОК.

Вам необходимо 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 «). Windows PATH постоянно устанавливается через Панель управления ⇒ Система ⇒ ….
  • Текущий каталог НЕ включен в ПУТЬ Unix неявно. Чтобы запустить программу в текущем каталоге, необходимо ввести «./ programName «где» . «обозначает текущий каталог. Рекомендуется явно включить текущий каталог (. ) в PATH . С другой стороны, текущий каталог включен в Windows PATH неявно.
  • Путь 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 с перезаписью local PATH в текущем командном процессе в текущей среде,
  • развернуть переменные среды в 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 — откройте новую командную строку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2021 © Все права защищены. Карта сайта