Компютърни уроци

Задаване на системната променлива PATH. Команда SET - работа с променливи на средата на Windows Път на променливи на среда на Windows 7

Когато операционната система стартира програма, тя стартира нов процес и по някакъв начин му предава информация за настройките на средата, или среда (на английски се използва терминът среда). Тази информация се състои от набор от променливи, съдържащи някои стойности. Един процес може да получи тези стойности чрез достъп до желаната променлива по име. Например, за да разберете къде е директорията, която операционната система препоръчва да използвате за съхраняване на временни файлове, трябва да получите стойността на променливата на средата TEMP.

Как мога да видя стойностите на променливите на средата?

В конзолата на Windows можете да видите стойността на тази променлива, като изпълните командата echo %TEMP% , в конзолата на PowerShell трябва да изпълните командата echo $Env:TEMP , а в конзолата на Linux или MacOS трябва да изпълните командата ехо $TEMP.

Ако пишете програма на езика за програмиране Python, стойността на тази променлива може да бъде получена по следния начин:

импортиране на os temp = os. среда["TEMP"]

В Java това може да се направи по следния начин:

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

В C# подобно действие изглежда така:

string temp = System. Заобикаляща среда. 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.

Благодарение на това можем например да използваме помощната програма find в конзолата на Windows, за да търсим файлове или помощната програма telnet, за да установим отдалечена връзка, използвайки протокола със същото име, просто като посочим името им, а не пълен път c:\Windows\system32\telnet.exe.

Когато имате нова помощна програма, възниква въпросът - къде да я поставите? От една страна, той може да бъде поставен в C:\Windows\system32 или /usr/bin. Но ако не ви харесва да разхвърляте стандартните директории, тогава направете някаква специална директория, поставете всички такива малки програми в нея и добавете пътя до тази директория към променливата на средата PATH.

ПЪТЕКАе променлива на средата и е списък от папки, които се използват от операционната система за търсене на изпълними файлове (*.EXE). На практика, ако папката е добавена към PATH, изпълнимите файлове могат да се стартират от командния ред, без да се посочва пълният път до тях.

  • За да видите списък с папки, включени в променливата PATH, просто въведете ПЪТЕКАна командния ред.
  • Можете да добавите папка към PATH с помощта на GUI на Windows. За да направите това, отворете диалоговия прозорец със свойства на системата (WIN+PAUSE), в раздела ДопълнителноНатисни бутона Променливи на средата, в секцията системни променливи изберете ПЪТЕКАи натиснете бутона промяна.

Като част от автоматичната инсталация на Windows, ние, разбира се, се интересуваме от въпроса за добавяне на папка към PATH от командния ред по време на инсталацията на системата.

Команда PATH

Тази команда добавя посочените папки към PATH, но промените са валидни само по време на текущата командна сесия(т.е. ако изпълните тази команда от пакетен файл, добавените папки ще бъдат само в PATH, докато се изпълнява).

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

помощна програма pathman

pathman /като "%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","Път")

Променлива ПЪТЕКАе системна променлива, с която операционната система намира необходимите изпълними обекти в командния ред или прозореца на терминала. Променливият параметър съдържа списък (разделен с точка и запетая) ; ) директории, в които ще се търси изпълнимият файл при извикване на командата от конзолата.

В операционната система Windowsсистемна променлива ПЪТЕКАможе да се настрои с помощта на системната помощна програма в Контролни панели на Windows.

Нека опишем как се променя стойността на променлива ПЪТЕКАв операционната система Windows 10.

В менюто Започнетеизпълнете командата Система(Контролен панел → Система и сигурност → Система):

Кликнете върху връзката Разширени настройки на системата:

Отворете прозореца Променливи на средата:


В глава Променливи на средатаИ Системни променливиизберете променливата на средата ПЪТЕКА. Кликнете промяна. Ако променливата ПЪТЕКАне съществува, щракнете Създавайте.

За да промените променливите на системната среда, трябва да имате съответните права. Ако няма такива, трябва да създадете потребителска променлива.


В прозореца" Променете променливата на средата" (или Нова системна променлива) задайте стойността на променливата на средата ПЪТЕКА, след което потвърдете действието с натискане на бутона Добре.


Ако използвате променлива ПЪТЕКАне за командния ред, а за други приложения, например PHP модул, трябва да рестартирате компютъра си.

Инструкции

Щракнете с десния бутон върху иконата Моят компютър, разположена на вашия работен плот или в менюто "Старт". В контекстното меню, което се показва, изберете долния ред „Свойства“ - ще се отвори нов прозорец „Свойства на системата“. Можете също да отворите прозореца със свойства на системата, като натиснете комбинацията от клавишни комбинации Windows + Pause Break. Ако използвате операционна система Windows 7, щракнете с десния бутон върху иконата „Моят компютър“, изберете „Свойства“ и след това изберете „Разширени системни настройки“ от лявата страна на прозореца със свойства.

В прозореца „Свойства на системата“ отидете в раздела „Разширени“, като щракнете с левия бутон върху него - ще видите три раздела с допълнителни системни настройки. Под тях ще има още два бутона - „Променливи на средата“ и „Отчет за грешка“. Имате нужда от променливи на средата - щракнете върху съответния бутон.

Прозорецът Променливи на средата съдържа две категории променливи, едната е Променливи на потребителската среда, а другата е . Намерете променливата на пътя в списъка със системни променливи и я изберете, като щракнете с левия бутон на мишката.

Сега, с избраната променлива на пътя, щракнете върху бутона „Промяна“, разположен под прозореца със списък - ще се отвори малък прозорец „Промяна на системна променлива“, където ще бъдат разположени два реда за въвеждане - „Име на променлива“ и „Стойност на променлива“. Променете стойността на променливата на пътя на каквото искате.

Друг начин за промяна на стойността на променливата на пътя е следният: в прозореца „Променливи на средата“ щракнете върху бутона „Създаване“, след което в прозореца, който се отваря, в полето „Име на променлива“ въведете „път“ и в полето „Стойност на променливата“ въведете желаната стойност. Това ще промени текущата стойност на променливата на пътя към тази, която току-що сте въвели.

Видео по темата

Променлива на средата, наречена Path, се използва от компонентите на операционната система и приложенията, инсталирани на нея, за получаване на адреси на директории, в които да се търсят изпълними файлове. Някои адреси присъстват в тази променлива по подразбиране и потребителят не може да ги промени, но може да добави („запише“) допълнителни адреси към нея.

Инструкции

Щракнете с десния бутон върху иконата „Моят компютър“ на работния плот и изберете „Свойства“ от изскачащото контекстно меню. Същото може да се направи с елемента „Компютър“ в главното меню на операционната система на бутона „Старт“. Или можете просто да натиснете клавишната комбинация win + пауза - всяко от тези действия ще стартира компонента на ОС, наречен „Свойства на системата“.

Отидете в раздела „Разширени“ на прозореца, който се отваря, и щракнете върху бутона „Променливи на средата“, разположен в долната част. Ще се отвори друг прозорец с две таблици, поставени в него - инсталацията на операционната система, от която се нуждаете, е поставена най-отгоре („Променливи на потребителската среда“). Изберете реда, който има думата Path в колоната „Variable“ и след това щракнете върху бутона „Edit“ под тази таблица. В резултат на това ще се отвори трети и последен диалогов прозорец със заглавие „Промяна на потребителска променлива“ и две полета за попълване.

Въведете желания път в полето „Стойност на променливата“. Ако вече съдържа някакъв запис, добавете нов вдясно, като го отделите от съществуващия с точка и запетая (;). За да не направите грешка при писането на пълния адрес в желаната директория, по-добре е да копирате пътя до него в Windows Explorer - отворете го (win + e), отидете в желаната папка, изберете пълния път в адресната лента на файловия мениджър (ctrl + a), копирайте (ctrl + c), върнете се в диалоговия прозорец и поставете съдържанието на клипборда (ctrl + v) в полето Variable Value.

Оставете стойността в полето „Име на променлива“ непроменена (Пътят трябва да остане там) и щракнете върху OK. След това натиснете последователно същите бутони OK в другите два отворени прозореца. Това завършва процедурата за добавяне на нова стойност към променливата Path.

Видео по темата

Всички мобилни телефони Nokia са направени на платформите S40 и S60. Това означава, че java машините се интегрират автоматично в тях. Следователно, за да инсталирате J2ME приложение на такъв телефон, просто трябва да го копирате във вградената памет на телефона или на карта с памет.

Инструкции

Стартирайте интернет браузъра на вашия мобилен телефон Nokia, за да инсталирате Java. Трябва да изтеглите JAR файла. За други телефони също трябва да изтеглите JAD файла. Въпреки това, поради по-голямото търсене на този конкретен тип файл, ще бъде по-лесно за вас да го изтеглите.

Моля, имайте предвид, че автоматично, заедно с JAD файла, JAR файл също ще бъде изтеглен на вашия телефон. Използвайте вградения браузър на телефона, ако е базиран на платформата S40. Това е необходимо, така че след изтеглянето файлът да се инсталира автоматично. Тези. инсталирането на Java вече не е необходимо. Отидете в секцията „Игри“ или „Приложения“. В списъка с програми ще намерите новоинсталирания файл.

Направете следното, за да инсталирате приложението Java, ако вашето има карта с памет. Изключете телефона си. Извадете картата с памет от него. Вземете четец на карти. Използвайте го, за да свържете картата с памет на телефона към компютъра. Копирайте всички Java приложения, които ви интересуват, в съответната папка. След това извадете правилно картата с памет и я поставете в телефона.

Направете следното, ако телефонът ви е базиран на платформата S60. Стартирайте вградения браузър на вашия мобилен телефон. Изтеглете необходимия JAR или JAD файл. Можете също да използвате браузър на трета страна, като Opera Mobile, Opera Mini или друг. Работата е там, че вграденият браузър автоматично ще запази файла в папката UCDownloaded, а с браузър на трета страна можете да зададете всяка папка като място за запазване на картата с памет на вашия мобилен телефон.

За правилна инсталация извадете картата с памет от мобилния си телефон. С помощта на четец на карти го свържете към вашия персонален компютър. След това инсталирайте JAR файла в папката с приложения на картата с памет. Инсталацията не отнема много време и не би трябвало да предизвика никакви усложнения. След като приключите, извадете картата с памет и я поставете в телефона.

Операцията по настройка на променлива на средата (среда) може да се извърши от потребителя с помощта на стандартни инструменти на операционната система Microsoft Windows и не изисква използването на допълнителен софтуер на трети страни.

Опитайте да въведете в прозореца Run (Win + R) wmplayerи натиснете Enter - Windows Media Player ще се отвори. Сега направете същото в командния ред. Играчът няма да започне, защото пътят до него не е намерен! Защо се случва това?

Читателят на блога Андрей попита по имейл в какви случаи не е необходимо да въвеждате пълния път до тях, за да стартирате изпълними файлове. Въпросът ми се стори елементарен и накратко поканих читателя да обърне внимание на променливата PATH.

Променлива PATH

Променлива на средата ПЪТЕКАсъдържа пътища, в които Windows автоматично търси изпълними файлове (EXE, CMD, VBS и др.) при изпълнение на команда. Първоначално само основните местоположения на системата са включени в променливата, така че програмите от папките Windows и System32 могат да се стартират, без да се посочва пълният път.

Как да видите съдържанието на променливата PATH

По време на инсталацията някои програми записват пътя до папката си там, което вероятно ще проверите, като изпълните командата в конзолата път, показващ системните и потребителските променливи заедно.

Когато изпълнимият файл се намира на едно от местата, известни на Windows, не е необходимо да въвеждате пълния път до файла. Използвам това свойство на операционната система, за да стартирам бързо любимите си помощни програми Nirsoft и други програми от гърдите си (на снимката се вижда, че папката Tools е добавена към PATH).

Как да добавите свои собствени пътища към променливата PATH

Можете да добавите свои собствени пътища, като промените системната променлива PATH или като създадете потребителска променлива със същото име. Обясних разликата между типовете променливи в един от тестовете. Той също така ви казва как да промените променливите на средата в GUI. Имайте предвид, че пътищата са разделени с точка и запетая.

Можете бързо да добавите вашите пътища към PATH от командния редс помощта на помощната програма setx, включен в Windows 7. Следното е пример за добавяне на пътя C:\myfolder към системен PATH променлива (командният ред трябва да се стартира като администратор).

За /f "tokens=2*" %a In ("Reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path") Направете Задайте "systempath=%b" set newpath=%systempath%; C:\myfolder1 setx /m път "%newpath%"

Първо използвайки командата регсписъкът с пътища се чете от системната променлива PATH, съхранена в системния регистър. След това командата комплектзадава променлива нов пътс желания път в текущата сесия на командния ред и командата setx/mправи новия път постоянен за системенпроменлива (параметър ).

Персонализирана променлива може да бъде зададена без администраторски права, като се използва подобен подход. Добавяне на нов път към съществуващ персонализиранПроменливата PATH се изпълнява по следния начин:

За /f "tokens=2*" %a In ("Reg query "HKCU\Environment" /v Path") Направете Set "userpath=%b" set newpath=%userpath%;C:\myfolder2 setx path "%newpath %"

Моля, обърнете внимание, че кодът по-горе е проектиран да се изпълнява от командния ред. В командния файл (CMD) процентните символи на първия ред трябва да са двойни.

Строго погледнато, можеше и без това setx, тъй като регможе не само да чете данни от регистъра, но и да ги записва там. Но в много случаи с setxПо-лесна за работа с по-компактен синтаксис.

Разбира се, не описах всичко това толкова подробно на Андрей, а просто му дадох насока. На следващия ден обаче той ми писа, че знае всичко това (аз съм посредствен телепат :) и зададе въпроса, с който започнах днешния разказ. Това вече беше по-интересно и обещах да отразя темата в блога!

Ключ на системния регистър на App Paths

Наистина, без да посочвате пълния път, можете да стартирате някои стандартни програми на Windows от прозореца Run, но не и от командния ред. В допълнение към Windows Media Player, това е например Paint ( mspaint) и Wordpad ( wordpad). Същото важи и за приложенията на MS Office - проверете командата превъзходенили winword!

Разликата между прозореца Run и командния ред е, че обвивката на Windows (Explorer) има повече възможности от интерпретатора на конзолни команди. В този случай всичко опира до функцията ShellExecuteEx, с които е оборудвана черупката. Когато стартирате изпълним файл, без да посочите пълния му път, функцията търси:

  • текуща папка
  • Windows и System32 папки
  • ключ на системния регистър HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Как работи разделът „Пътища на приложението“.

Нека да разгледаме как работи App Paths, използвайки Windows Media Player като пример.

  • е създадена подсекция с псевдоним за изпълнимия файл (в този случай е wmplayer.exe)
  • в параметъра По подразбиранепосочва се пълният път до файла. Ако се използва променлива в пътя на файла, параметърът трябва да бъде разширяем низ (REG_EXPAND_SZ). Когато указвате абсолютен път, можете да използвате обикновен низов параметър (REG_SZ).
  • в параметъра Пътекапосочена е работната папка на програмата

Работи много просто. Въвеждате псевдоним на файл в прозореца Run или адресната лента на Explorer и системата автоматично търси в указания път.

Как да ускорите работата си с App Paths

Можете да използвате този ключ на системния регистър, за да стартирате бързо програми, чиито преки пътища не са ви необходими в лентата на задачите или на работния плот. Например, за търсене и замяна на текстови файлове, използвам програмата BKReplacem (replacem.exe), която има своя собствена папка в папката PortableSoft. В секцията Пътища на приложението създадох подсекция bkr.exeи посочи пълния път до помощната програма. Сега стартирането му се свежда до изпълнение bkrв прозореца Изпълнение.

Между другото, не забравяйте да оградите пътеки, съдържащи интервали, в кавички. И, надявам се, вече сте се досетили, че можете да съкратите командата до една буква. Продължавайки с този пример, мога да създам подключ b.exe. Като цяло една програма може да има произволен брой псевдоними, както ще видите по-долу.

Друга употреба, която открих за App Paths, е да стартирам cmd.exe с пълни права. Дълго време се справям без UAC подканата, благодарение на стартирането на командния ред от Task Scheduler. След като създадох подключ 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 години, но споменаването им все още се съдържа в системата! И това ни води до разговора за това кога и защо секцията App Paths е въведена в Windows.

История на пътищата на приложението

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

Между другото, старият метод autoexec.bat все още работи, позволявайки ви да стартирате изпълними файлове, без да посочвате пътя, въпреки че вече няма смисъл да го използвате.

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

В допълнение, добавянето на път към PATH, за да насочи Windows към една единствена програма, не беше рационално, подобно на стрелба по врабчета с оръдие. Тогава разработчиците на Windows 95 излязоха с решение със секция на системния регистър, което ви позволява да посочите пътища до конкретни изпълними файлове.

Защо този раздел все още има подраздели за писане и четка? Ето как Windows осигурява съвместимост на програмите!

Теоретично, някоя древна програма може да разчита на себеподобни, чиито наследници вече са променили името или местоположението си. За да се предотврати счупването на по-стари приложения, се използва ключът на системния регистър App Paths.

Пивотна таблица

И така, нека обобщим! Най-лесният начин е да сравните възможностите на обвивката на Windows и интерпретатора на системни команди в таблична форма.

В тази форма става ясно не само по-широк кръг от търсения на изпълними файлове в Explorer, но и не съвсем очевидната зависимост на командния ред от променливата PATH. Именно неговите пътища влияят върху това дали е необходимо да се посочи пътя към файловете, намиращи се в системните папки в конзолата.

И накрая, разделът App Paths добавя стойност, като ви позволява да зададете кратки псевдоними за изпълними файлове, което ги прави по-лесни за изпълнение.

Използвате ли ключа на системния регистър App Paths или вашите собствени променливи на средата? Ако да, тогава Кажете ни в коментарите как те улесняват работата ви!