Комп'ютерні уроки

Налаштування системної змінної PATH. Команда SET - робота зі змінними середовищами Windows Перемінні середовища windows 7 path

Коли операційна система запускає якусь програму, вона стартує новий процес і якимось чином передає йому інформацію про налаштування середовища або оточення (англійською мовою використовується термін environment). Ця інформація складається з набору змінних, які містять деякі значення. Процес може отримати ці значення, звернувшись до потрібної змінної на ім'я. Наприклад, щоб дізнатися, де директорія, яку операційна система рекомендує використовувати для зберігання тимчасових файлів, необхідно отримати значення змінного середовища TEMP .

Як переглянути значення змінних середовища?

У консолі Windows можна переглянути значення цієї змінної, виконавши команду echo %TEMP% , у консолі PowerShell необхідно для цього виконати команду echo $Env:TEMP , а в консолі Linux або MacOS – команду echo $TEMP .

Якщо ви пишете програму мовою програмування Python, значення цієї змінної можна отримати так:

import os temp = os. environ [ "TEMP" ]

У мові Java це можна зробити так:

String temp = System. getenv(). get ("TEMP");

У мові C# аналогічна дія виглядає так:

string temp = System. Environment. GetEnvironmentVariable ("TEMP");

На що впливає змінна оточення PATH?

За допомогою змінних оточення можна передавати інформацію не тільки процесам, що запускаються, але і самій операційній системі. Вона теж читає та використовує значення змінних оточення, тому можна керувати деякими аспектами поведінки операційної системи, змінюючи змінні оточення.

Змінна PATH містить список директорій, в яких операційна система намагається шукати файли, що виконуються, якщо користувач при запуску не вказав явно шлях до потрібного виконуваного файлу.

Уявімо, що на комп'ютері з операційною системою Windows встановлено дві різні версії інтерпретатора мови програмування Python. Це можна зробити, якщо встановити їх у різні директорії, наприклад, C: Python27 і C: Python34 . Виконуваний файл для обох версій називається python.exe.

Для того, щоб запустити виконуваний файл потрібної версії, можна вказати повний шлях до нього, наприклад, C:\Python34\python.exe:

Але щоразу вказувати повний шлях ліньки, та ще й пам'ятати його треба.

Альтернатива – додати у змінну оточення PATH шлях до директорії, де знаходиться цей файл, і тоді його можна буде запускати, вказуючи лише ім'я. А щоб дізнатися, де він (на думку операційної системи) знаходиться, можна використовувати команду where в операційній системі Windows або команду which в операційній системі Linux або MacOS.

Ця змінна містить список директорій, в яких операційна система повинна шукати файли, що виконуються. Як роздільник використовується точка з комою (;) в операційній системі Windows і двокрапка (:) в операційних системах Linux та MacOS.

Зверніть увагу, що в змінну PATH потрібно додавати не шляхи до файлів, а виконуються до директорій, де вони знаходяться!

Змінна PATH та програми-утиліти

Не обов'язково додавати в змінну PATH шляхи до всіх директорій, в яких знаходяться файли, що виконуються на вашому комп'ютері. Швидше за все більшість програм ви запускаєте "через меню старт". На цей спосіб запуску змінна PATH жодного впливу не має. Її важливо налаштувати так, щоб можна було швидко та зручно запускати усілякі дрібні програми з консолі.

Наприклад, до цієї змінної зазвичай включається шлях до “стандартних” місць, де розташовані різні дрібні програми-утиліти. В операційній системі Windows це директорія C:\Windows\system32, в операційних системах Linux та MacOS директорія /usr/bin.

Саме завдяки цьому ми можемо, наприклад, у консолі Windows використовувати утиліту find для пошуку файлів або утиліту telnet для встановлення видаленого з'єднання по однойменному протоколу, просто вказуючи їх ім'я, а не повний шлях c:\Windows\system32\telnet.exe.

Коли у вас з'являється нова програма-утиліта, постає питання – куди її помістити? З одного боку, її можна покласти в C: Windows system32 або / usr / bin . Але якщо ви не любите засмічувати стандартні директорії, тоді зробіть якусь спеціальну директорію, складайте всі такі невеликі програми в неї, і додайте шлях до цієї директорії в змінну оточення PATH.

PATHє змінного середовища і є список папок, який використовується операційною системою для пошуку виконуваних файлів (*.EXE). На практиці, якщо папка додана в PATH, файли, що виконуються, можна запускати з командного рядка без вказівки повного шляху до них.

  • Для того, щоб переглянути список папок, що входять до змінної PATH, просто наберіть PATHу командному рядку.
  • Додати папку до PATH можна за допомогою графічного інтерфейсу Windows. Для цього треба відкрити діалогове вікно властивостей системи (WIN+PAUSE) на вкладці Додатковонатиснути кнопку Змінні середовищау розділі системні змінні виділити PATHта натиснути кнопку Змінити.

У рамках автоустановки Windows нас, звичайно, цікавить питання додавання папки до PATH з командного рядка під час встановлення системи.

Команда PATH

Ця команда додає зазначені папки до PATH, але зміни дійсні тільки протягом поточної командної сесії(тобто, якщо ви виконуєте цю команду з пакетного файлу, додані папки будуть перебувати в PATH тільки протягом його роботи).

Path=%PATH%;"%systemdrive%\system32\mytools";"%programfiles%\Opera"

Утиліта pathman

pathman /as "%systemdrive%\system32\mytools";"%programfiles%\Opera"

Порада.Ви можете зібрати всі улюблені утиліти командного рядка в одну папку та додати її до PATH. У наведеному вище прикладі мої утиліти зібрані в %systemdrive%\system32\mytools.

AutoIt скрипт

;який шлях потрібно дописати до змінної Path$addtopath=@ProgramFilesDir&"\7-Zip" ;вилучення поточного вмісту змінної Path$curpath=RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Path")

Змінна PATHявляє собою системну змінну, за допомогою якої операційна система знаходить потрібні об'єкти, що виконуються в командному рядку або вікні терміналу. У параметрі змінної міститься список (через точку з комою ; ) директорій, у яких відбуватиметься пошук виконуваного файла під час виклику команди з консолі.

В операційній системі Windowsсистемну змінну PATHможна задати за допомогою системної утиліти в Панелі керування Windows.

Опишемо, як змінити значення змінної PATHв операційній системі Windows 10.

В меню Пусквиконуємо команду Система(Панель управління → Система та безпека → Система):

Натискаємо на посилання Додаткові параметри системи:

Відкриваємо вікно Змінні середовища:


В розділі Змінні середовищаі Системні зміннівибираємо змінне середовище PATH. Натискаємо Змінити. Якщо змінною PATHне існує, натискаємо Створити.

Для зміни системних змінних оточення, необхідно мати відповідні права. Якщо таких немає - слід створити змінну користувача.


У вікні " Змінити змінне середовище(або Нова системна змінна) вкажіть значення змінного середовища PATH, після чого підтвердіть дію натисканням кнопки ОК.


Якщо ви використовуєте змінну PATHне для командного рядка, а інших програм, наприклад модуль PHP, слід перезавантажити комп'ютер.

Інструкція

Клацніть правою кнопкою миші на піктограмі «Мій комп'ютер» на робочому столі або в меню «Пуск». У контекстному меню виберіть найнижчий рядок «Властивості» – відкриється нове вікно «Властивості системи». Ви також можете викликати вікно «Властивості системи», натиснувши поєднання гарячих клавіш Windows+Pause Break. Якщо ви використовуєте операційну систему Windows 7, то клацніть правою кнопкою миші на значку «Мій комп'ютер», виберіть пункт «Властивості», після чого в лівій частині вікна властивостей виберіть «Додаткові параметри системи».

У вікні «Властивості системи» перейдіть на вкладку «Додатково», клацнувши на ній лівою кнопкою миші – ви побачите три розділи додаткових налаштувань системи. Під ними будуть ще дві кнопки – «Змінні середовища» і «Звіт про помилки». Вам потрібні змінні середовища – клацніть на відповідній кнопці.

У вікні «Змінні середовища» розташовані дві категорії змінних, одна з яких – змінні середовища користувача, а інша – . Знайдіть змінну path у списку системних змінних та виділіть її натисканням лівої кнопки миші.

Тепер при виділеній змінній path натисніть кнопку «Змінити», розташовану під вікном списку – відкриється невелике вікно «Зміна системної змінної», де будуть розташовані два рядки введення – «Ім'я змінної» та «Значення змінної». Змініть значення змінної path на те, що ви хочете.

По-іншому змінити значення змінної path можна наступним чином: у вікні «Змінні середовища» натисніть на кнопку «Створити», після чого у вікні, що відкрилося, в полі «Ім'я змінної» введіть «path» і в поле «Значення змінної» введіть потрібне значення. При цьому поточне значення змінної path зміниться на те, що ви ввели.

Відео на тему

Змінне середовище з назвою Path використовується компонентами операційної системи та встановленими в ній прикладними програмами для отримання адрес каталогів, в яких можна шукати виконувані файли. Деякі адреси присутні в цій змінній за умовчанням і змінювати їх користувач не може, але він може додати («прописати») до неї додаткові адреси.

Інструкція

Клацніть піктограму «Мій комп'ютер» на робочому столі правою кнопкою миші та виберіть пункт «Властивості» у контекстному меню. Це можна зробити і з пунктом «Комп'ютер» у головному меню операційної системи на кнопці «Пуск». А можна просто натиснути поєднання гарячих клавіш win + pause – будь-яка з цих дій запустить компонент ОС під назвою «Властивості системи».

Перейдіть на вкладку «Додатково» вікна, що відкрилося, і натисніть кнопку «Змінні середовища», розміщену в її нижній частині. Запуститься ще одне вікно з розміщеними в ньому двома таблицями - потрібна вам установка операційної системи міститься у верхній («Змінні середовища користувача»). Виділіть рядок, у якому в колонці «Змінна» є напис Path, а потім натисніть кнопку «Змінити» під цією таблицею. В результаті відкриється третє, вже останнє діалогове вікно з заголовком «Зміна змінної користувача» і двома полями для заповнення.

Введіть потрібний шлях у полі «Значення змінної». Якщо в ньому вже є якийсь запис, то новий допишіть праворуч, відокремивши його від існуючої крапки з комою (;). Щоб не помилитися в написанні повної адреси до потрібного каталогу, краще скопіювати шлях до нього в Провіднику Windows - відкрийте його (win + e), перейдіть в потрібну папку, виділіть повний шлях в адресному рядку файл-менеджера (ctrl + a), скопіюйте (ctrl + c), поверніться у діалогове вікно та вставте вміст буфера обміну (ctrl + v) у поле «Значення змінної».

Залишіть без змін значення в полі «Ім'я змінної» (там має залишитися напис Path) та натисніть кнопку OK. Після цього послідовно натискайте такі ж кнопки OK та у двох інших відкритих вікнах. На цьому процедура додавання нового значення змінну Path буде завершена.

Відео на тему

Всі мобільні телефони Nokia виготовлені на платформах S40 та S60. Це означає, що на них автоматично інтегровані java-машини. Тому, щоб помістити на такий телефон програму J2ME, потрібно лише скопіювати його у вбудовану пам'ять телефону або на картку пам'яті.

Інструкція

Запустіть інтернет-браузер мобільного телефону Nokia, щоб поставити яву. Вам потрібно завантажити файл JAR. Для інших телефонів потрібно ще завантажувати файл формату JAD. Однак, внаслідок більшого попиту саме на цей тип файлу, вам буде простіше завантажити його.

Зверніть увагу, що автоматично з файлом формату JAD на ваш телефон також буде завантажено файл формату JAR. Використовуйте вбудований браузер телефону, якщо він виготовлений на платформі S40. Це потрібно для того, щоб після завантаження файл автоматично встановився. Тобто. встановити яву потреба вже відпала. Зайдіть у розділ «Ігри» або «Програми». У списку програм ви знайдете щойно встановлений файл.

Зробіть таке, щоб встановити ява-додаток, якщо у вашому є картка пам'яті. Вимкніть телефон. Вийміть картку пам'яті. Візьміть картридер. Підключіть телефонну картку пам'яті до комп'ютера. Скопіюйте всі програми, що вас цікавлять, ява у відповідну папку. Після цього коректно вийміть картку пам'яті та вставте її в телефон.

Зробіть таке, якщо телефон виконаний на платформі S60. Запустіть вбудований браузер мобільного телефону. Завантажте файл JAR або JAD. Можна використовувати і браузер сторонніх розробників, таких як Opera Mobile, Opera Mini або якийсь інший. Все в тому, що вбудований браузер автоматично збереже файл у папку UCDownloaded, а стороннім браузером ви можете задати будь-яку папку як місце збереження на картці пам'яті вашого мобільного телефону.

Вийміть картку пам'яті з мобільного телефону для коректного встановлення. За допомогою картридера підключіть її до персонального комп'ютера. Потім установіть JAR файл у папку програм на картці пам'яті. Установка триває не довго і не повинна викликати жодних ускладнень. Після завершення вийміть картку пам'яті, вставте її в телефон.

Виконання операції встановлення змінного оточення (середовища) може бути здійснено користувачем стандартними засобами операційної системи Microsoft Windows і не передбачає залучення додаткового програмного забезпечення сторонніх розробників.

Спробуйте у вікні "Виконати" (Win + R) ввести wmplayerі натиснути Enter – відкриється Windows Media Player. Тепер зробіть те саме в командному рядку. Програвач не запуститься, бо не знайдено шлях до нього! Чому так відбувається?

Читач блогу Андрій поцікавився поштою, в яких випадках для запуску файлів, що виконуються, не потрібно вводити повний шлях до них. Питання видалося мені елементарним, і я коротко запропонував читачеві звернути увагу на змінну PATH.

Змінна PATH

Змінне середовище PATHмістить шляхи, у яких Windows під час виконання команди автоматично шукає виконувані файли (EXE, CMD, VBS тощо.). Спочатку змінну внесено лише основні системні розташування, тому програми з папок Windows і System32 можна запускати, не вказуючи повний шлях.

Як переглянути вміст змінної PATH

Деякі програми при встановленні прописують туди шлях до своєї папки, у чому ви напевне переконаєтеся, виконавши в консолі команду path, що показує системні та користувацькі змінні разом.

Коли файл, що виконується, знаходиться в одному з розташування, відомих Windows, вводити повний шлях до файлу необов'язково. Я використовую цю властивість операційної системи, щоб швидко запускати улюблені , утиліти Nirsoft та інші програми зі своєї скриньки (на малюнку видно, що в PATH додано папку Tools).

Як додати свої шляхи до змінної PATH

Ви можете додати власні шляхи, змінивши системну змінну PATH, або створивши зміну користувача з таким же ім'ям. Різницю між типами змінних я пояснював у межах однієї з вікторин. Там же розповідається, як змінювати змінні середовища у графічному інтерфейсі. Зверніть увагу, що шляхи поділяються крапкою з комою.

Можна швидко додати свої шляхи до PATH з командного рядказа допомогою утиліти setx, що входить до складу Windows 7. Нижче наводиться приклад додавання шляху C:\myfolder в системнузмінну PATH (командний рядок має бути запущений від імені адміністратора).

For /f "tokens=2*" %a In ("Reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path") До Set "systempath=%b" set newpath=%systempath%; C:\myfolder1 setx /m path "%newpath%"

Спочатку за допомогою команди regзчитується список шляхів із системної змінної PATH, що зберігається в реєстрі. Потім команда setставить змінну newpathз потрібним шляхом у рамках поточної сесії командного рядка, а команда setx /mробить новий шлях постійним для системноїзмінної (параметр /m).

Зміну користувача можна задати без прав адміністратора, застосувавши аналогічний підхід. Додавання нового шляху до наявної користувальницькоїзмінної PATH здійснюється так:

For /f "tokens=2*" %a In ("Reg query "HKCU\Environment" /v Path") До Set "userpath=%b" set newpath=%userpath%;C:\myfolder2 setx path "%newpath %"

Зверніть увагу, що код вище розрахований на виконання в командному рядку. У командному файлі (CMD) символи відсотка у першому рядку мають бути подвійними.

Строго говорячи, тут можна було обійтися і без setx, оскільки regможе не лише зчитувати дані з реєстру, а й записувати їх туди. Але в багатьох випадках з setxпростіше працювати за рахунок компактнішого синтаксису.

Звичайно, я не розписував усе це так докладно для Андрія, а просто поставив йому напрям. Однак наступного дня він написав мені, що все це знав (я — посередній телепат:) і поставив питання, яким я розпочав сьогоднішню розповідь. Це було вже цікавіше, і я пообіцяв розкрити тему у блозі!

Розділ реєстру App Paths

Справді, не вказуючи повний шлях, можна запустити деякі стандартні програми Windows із вікна «Виконати», але з командного рядка. Крім програвача Windows Media, це, наприклад, Paint ( mspaint) та Wordpad ( wordpad). Те ж саме і для додатків MS Office – перевірте команду excelабо winword!

Різниця між вікном «Виконати» та командним рядком полягає в тому, що оболонка Windows (explorer) має ширші можливості, ніж консольний інтерпретатор команд. В даному випадку вся справа у функції ShellExecuteEx, Якою забезпечена оболонка. Коли ви запускаєте виконуваний файл без вказівки повного шляху до нього, функція виконує пошук у:

  • поточній папці
  • папках Windows та System32
  • розділ реєстру HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Як працює розділ App Paths

Погляньмо на роботу App Paths на прикладі Windows Media Player.

  • створено підрозділ із псевдонімом виконуваного файлу (у разі – це wmplayer.exe)
  • у параметрі За замовчуваннямвказано повний шлях до файлу. Якщо шлях до файлу використовується змінна, параметр повинен бути рядковим (REG_EXPAND_SZ). Вказуючи абсолютний шлях, можна обійтись звичайним рядковим параметром (REG_SZ).
  • у параметрі Pathзадана робоча папка програми

Працює дуже просто. Ви вводите псевдонім файлу у вікні "Виконати" або адресному рядку провідника, а система автоматично дивиться у вказаному шляху.

Як прискорити свою роботу за допомогою App Paths

Цей розділ реєстру можна використовувати для швидкого запуску програм, ярлики яких не потрібні вам на панелі завдань або на робочому столі. Наприклад, для пошуку та заміни в текстових файлах я застосовую програму BKReplacem (replacem.exe), яка має свою папку всередині папки PortableSoft. У розділі App Paths я створив підрозділ bkr.exeі вказав повний шлях до утиліти. Тепер її запуск зводиться до виконання bkrу вікні "Виконати".

До речі, не забувайте укладати в лапки шляхи, що містять прогалини. І, сподіваюся, ви вже здогадалися, що можна зменшити команду до однієї літери. Продовжуючи цей приклад, міг би створити підрозділ b.exe. Взагалі, у програми може бути скільки завгодно псевдонімів, як ви побачите трохи нижче.

Ще одне застосування, що я знайшов для App Paths, це запуск cmd.exe з повними правами. Я давно обходжуся без запиту UAC завдяки запуску командного рядка з планувальника завдань . Створивши підрозділ cmda.exe, я вказав у ньому шлях до командного файлу, який виконує завдання.

У ньому лише один рядок:

Schtasks / run / tn CMD_Admin

Тепер достатньо ввести у вікно "Виконати" команду cmda, щоб відкрити командний рядок від імені адміністратора.

Що цікавого можна знайти у розділі App Paths

По-перше, я впевнений, що ви знайдете там багато встановлених у вас програм. Замість того, щоб прописувати шлях до своєї папки в змінну PATH, програми реєструють свій файл, що виконується в розділі App Paths, дотримуючись рекомендацій Microsoft.

По-друге, там є підрозділи WORDPAD.EXEі WRITE.EXE, причому обидва ведуть до файлу wordpad.exe

Програма Write, що входила до складу перших операційних систем Microsoft, Windows 95 була замінена на WordPad. Ви також знайдете підрозділ pbrush.exe, що посилається на mspaint, що лежить у System32.

Програм Write і Paintbrush немає у Windows вже років 15, проте згадка про них досі міститься в системі! І це підводить нас до розмови про те, коли і навіщо в Windows запровадили розділ App Paths.

Історія App Paths

Розділ App Paths з'явився в Windows 95 в якості протиотрути від засмічення шляху PATH, який ставився у файлі autoexec.bat. Програми традиційно додавали туди шляхи до своїх папок, як це досі іноді робиться з однойменного змінного середовища. При завантаженні системи файл зчитувався, а програми опинялися у системному шляху.

До речі, старий спосіб autoexec.bat досі працює, дозволяючи запускати файли, що виконуються, без вказівки шляху, хоча використовувати його вже немає сенсу.

Основна проблема для розробників полягала в тому, що знайти в autoexec.bat правильний рядок SET PATH було нетривіальним завданням. При цьому не можна було вставляти свій рядок на початок файлу, оскільки інша команда нижче могла перевизначити змінну.

Крім того, додавати шлях в PATH заради того щоб вказати Windows на одну єдину програму, було не раціонально, схоже на стрільбу з гармати по горобцях. Ось тоді розробники Windows 95 і придумали рішення з розділом реєстру, що дозволяє вказувати шляхи до конкретних файлів, що виконуються.

Чому в цьому розділі досі є підрозділи для Write та Paintbrush? Так Windows забезпечує сумісність програм!

Теоретично, якась стародавня програма може покладатися на своїх ровесниць, спадкоємиці яких вже змінили ім'я чи розташування. Щоб старі програми не ламалися, використовується розділ реєстру App Paths.

Зведена таблиця

Отже, підіб'ємо підсумок! Найпростіше порівняти можливості оболонки Windows та командного інтерпретатора системи у табличній формі.

У такому вигляді стає наочним не тільки ширший діапазон пошуку файлів, що виконуються в провіднику, але і не цілком очевидна залежність командного рядка від змінної PATH. Саме її шляхи впливають на те, чи потрібно в консолі вказувати шлях до файлів, які розташовані в системних папках.

Нарешті, розділ App Paths представляє додаткову цінність за рахунок того, що в ньому можна вказувати короткі псевдоніми файлів, що виконуються, спрощуючи їх запуск.

А ви використовуєте розділ реєстру App Paths чи власні змінні середовища? Якщо так, то розкажіть у коментарях, як вони спрощують вашу роботу!