Добавяне на променливи на средата на пътя в Windows 7. Променливи на средата на Windows

Добър ден, скъпи читатели и гости на блога, днес искам да обсъдя с вас такава тема, какво представляват променливите Windows среди, където могат да се използват, както в нормалната практика на потребителя, така и в практиката системен администраторЩе ви дам няколко примера. Как цялото това нещо се конфигурира и променя според вашите нужди, според мен това е фундаментално знание, чието разбиране ще ви покаже по-добре принципа на работа на операционните системи от семейството на Windows.

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

Нека разберем концепцията и така променлива на средата (променлива на средата) е специален вид връзки с намален размер към определени обекти на операцията Windows системиизползвани различни програмида съхранява информация и да взаимодейства с нея. Можете да направите аналогия с относителните връзки на сайтове, където няма изрично указание за протокола. Най-често това са пътища към конкретни директории в ОС.

Къде се използват променливите на средата на Windows

Ето няколко примера:

  • В скриптове > когато например всеки потребител трябва да направи някаква настройка, например да постави на работния плот нова папкас документи. Тъй като за всеки потребител пътят до работния плот е различен, като C:\Users\lacky\Desktop, или можете също да получите достъп до относителния път с помощта на променливата %HOMEPATH%, ако въведете %HOMEPATH%\Desktop в Explorer, ще стигнете до масата на текущия потребител на работния плот.

  • V групова политика, за да настроите персонализирани среди, като роуминг профили.
  • Оптимизация на код > ако кодът използва едни и същи пътища към файлове или папки, както и ключове в регистъра много често, можете лесно да присвоите кратка променлива за по-нататъшна употреба. По-долу ще ви дам обобщен списък на променливите на средата на Windows 10 и предишни версии, както и да покаже как да ги създавате и променяте.

Всички променливи на средата за Windows 10 и други версии имат специален оператор%. Необходимо е, за да операционна системаможе да се справи заявка за търсене. Прост пример, търсите папка TEMP и не знаете къде се намира, въведете %TEMP% и търсенето ще бъде на всички локални дисковеи раздели.

Списък с променливи на средата на Windows 10

Горният списък е напълно подходящ както за Windows 7, така и за Windows 8.1, всичко е лично проверено. Сигурен съм, че това знание ще ви помогне много да оптимизирате работата си.

  • %ALLUSERSPROFILE% > тази променлива ще ви изпрати в папката C:\ProgramData
  • %windir% > е папката C:\Windows
  • %APPDATA% > попадате в скрита папка C:\Users\UserName\AppData\Roaming
  • %CommonProgramFiles% > папка C:\Program Files\Common Files
  • %CommonProgramFiles(x86)% > ще ви отведе до C:\Program Files (x86)\Common Files
  • %CommonProgramW6432% > ще ви отведе до C:\Program Files\Common Files
  • %COMPUTERNAME% > Име на компютър, използвано от скриптове
  • %ComSpec% > ще отвори Windows 10 Command Prompt C:\Windows\system32\cmd.exe
  • %HOMEDRIVE% > път към устройство C:
  • %HOMEPATH% > тази променлива на средата на Windows ще ви отведе до вашата потребителска папка \Users\Username
  • %LOCALAPPDATA% > тази променлива на средата на Windows ще ви отведе до C:\Users\UserName\AppData\Local
  • %LOGONSERVER% > Име на компютър
  • %NUMBER_OF_PROCESSORS% > Брой_процесори
  • %OS% > Windows_NT, използва се и в скриптове
  • %Path% > C:\Windows\system32;C:\Windows;C:\Windows\System32Wbem;
  • %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  • %PROCESSOR_ARCHITECTURE% > x86 или AMD64, Windows архитектура
  • %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Модел 37 Стъпка 5, GenuineIntel
  • %PROCESSOR_LEVEL% > 6
  • %PROCESSOR_REVISION% > 2505 (пример)
  • %ProgramData% > папка C:\ProgramData
  • %ProgramFiles% > C:\Program Files
  • %ProgramFiles(x86)% > папка C:\Program Files (x86)
  • %ProgramW6432% > C:\Program Files
  • %PROMPT% > $P$G
  • %PSModulePath% > C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ се съгласяват много бързо
  • %PUBLIC% > C:\Users\Public
  • %SystemDrive% > устройство C:
  • %SystemRoot% > C:\Windows
  • %TEMP% >
  • %TMP% > C:\Users\Username\AppData\Local\Temp (по подразбиране)
  • %USERDOMAIN% > Име на компютър
  • %USERDOMAIN_ROAMINGPROFILE% > Име на компютър
  • %USERNAME% > Потребителско име
  • %USERPROFILE% > C:\Users\UserName

Как да изброите всички променливи на Windows

В Windows 10 и други версии можете да изброите всички променливи на средата на Windows, като отворите команден ред като администратор и въведете командата SET. В резултат на това ще получите всички променливи на средата на Windows 10 по подразбиране за определена операционна система.

За удобство можете да експортирате целия този списък в текстов файл, като напишете:

set > D:\Variables.txt

Ето съдържанието на този документ.

Друг метод за преглед на променливите на операционната система е Регистър на Windows. Натиснете WIN+R и въведете regedit. В прозореца на редактора на системния регистър, който се отваря, отидете до клона:

За преглед на променливи за компютър

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

За преглед на променливи за потребител

HKEY_CURRENT_USER\Околна среда

Създаване на променливи на средата windows 10

Софтуер след съществуващи променливи на Windows 10, можете да създавате нови, това е много лесно и не е забранено. Какво се изисква от вас, трябва да отидете в свойствата на системата. Тук има няколко метода, ако говорим за Windows 10, тогава можете да го направите, като щракнете с десния бутон върху бутона "Старт", като изберете системния елемент.

Универсалният метод е да отидете в свойствата на моя компютър или да натиснете клавишната комбинация WIN + Pause Breake.

От прозореца със свойства на системата трябва да отидете на „Разширени системни настройки“

Ето два вида променливи на средата на Windows:

  • Временни променливи
  • Системни променливи

И двете могат лесно да бъдат модифицирани или създадени.

Например, ще създам нова системна променлива, ще я кръстя SYSPREP и ще посоча пътя до папката C:\Windows\System32\Sysprep

Както можете да видите, тук няма нищо сложно, благодарение на тези неща можете значително да опростите живота си и да спестите много време.

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

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

Като част от автоматичното инсталиране на 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 [имейл защитен]&"\7-Zip" ;извлича текущото съдържание на променливата Path$curpath=RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Път")

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

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

Променлива PATH

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

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

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

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

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

Можете да добавите свои собствени пътища, като промените системната променлива PATH или като създадете потребителска променлива със същото име. Обясних разликата между типовете променливи в един от тестовете. Той също така обяснява как да промените променливите на средата. V 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 /mpath "%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 от прозореца Изпълнение, но не и от командния ред. Отвъд играча Windows Media, това е например Paint ( mspaint) и wordpad ( wordpad). Същото важи и за приложенията на MS Office - проверете командата превъзходенили спечели дума!

Разликата между прозореца 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 заявка, благодарение на стартирането на командния ред от планировчика на задачи. След като създадох подключа cmda.exe, посочих пътя до пакетен файлизпълнение на задачата.

Има само един ред:

Schtasks /run /tn CMD_Admin

Сега е достатъчно да въведете командата в прозореца "Run". cmdaза да отворите команден ред като администратор.

Какви интересни неща можете да намерите в раздела App Paths

Първо, сигурен съм, че ще намерите много от програмите, които сте инсталирали там. Вместо да поставят пътя до тяхната папка в променливата PATH, програмите регистрират своя изпълним файл в секцията App Paths, следвайки препоръките на Microsoft.

Второ, има подраздели WORDPAD.EXEИ WRITE.EXE, като и двете водят до wordpad.exe.

Програмата Write, която беше част от първите операционни системи на Microsoft, беше заменена от WordPad в Windows 95. Ще намерите и подраздел pbrush.exe, отнасяйки се до mspaint, който е в System32.

Програмите Write и Paintbrush не са в Windows от 15 години, но споменаването им все още се съдържа в системата! И това ни води до дискусията кога и защо Windows въведе секцията App Paths.

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

Разделът 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 или вашите собствени променливи на средата? Ако да, тогава кажете ни в коментарите как те улесняват работата ви!

Променливата среда (среда) в Windows съхранява информация за настройките на ОС и потребителските данни. Обозначава се със символ за двойка «%» , Например:

Използвайки тези променливи, можете да предадете необходимата информация на операционната система. Например, %PATH%съхранява списък с директории, в които Windows търси изпълними файлове, ако пътят до тях не е посочен изрично. %TEMP%съхранява временни файлове и %APPDATA%— настройки на потребителската програма.

Промяната на променливите на средата може да помогне, ако искате да преместите папка темпили AppDataна друго място. Редактиране %PATH%ще ви позволи да стартирате програми от "Командна линия", без всеки път да указвате дълъг път до файла. Нека разгледаме методите, които ще помогнат за постигането на тези цели.

Метод 1: Свойства на компютъра

Като пример за програма, която трябва да се изпълнява, използваме . Опитвате се да активирате това приложение от "Командна линия", ще получите тази грешка:

Това е така, защото не сте предоставили пълния път до изпълнимия файл. В нашия случай пълният път изглежда така:

"C:\Program Files (x86)\Skype\Phone\Skype.exe"

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


Готов! Сега можете да стартирате всяка програма, не само Skype, от всяка директория в "Командна линия".

Метод 2: "Команден ред"

Помислете за случая, в който искаме да зададем %APPDATA%на диск "Д". Тази променлива липсва от „Променливи на средата“, така че не може да се промени по първия начин.


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

Този раздел е за:
  • Платформи: Solaris SPARC, Red Hat Linux, SUSE Linux, Oracle Linux, Windows 10, Windows 8, Windows 7, Vista, Windows XP, Mac OS X

Инструкциите на тази страница са само за напреднали потребители и системни администратори.


Главна информация

  • Променлива ПЪТЕКАе системна променлива, която операционната система използва, за да намери желаните изпълними обекти в командния ред или прозореца на терминала.
  • системна променлива ПЪТЕКАможе да се настрои с помощта на системна помощна програма в контролния панел на Windows или чрез стартиращия файл на Linux и Solaris shell.
  • На работещи компютри Windowsили MacOS Xизвършване на промени в системната променлива PATH обикновено не се изисква.

Windows

Windows 10 и Windows 8
  1. В лентата "Търсене" потърсете: Система (Контролен панел)
  2. Кликнете върху връзката.
  3. Кликнете Променливи на средата. В глава Променливи на средата промяна
  4. в прозорец (или Нова системна променлива Добре Добре.
Windows 7
  1. На работния плот Кликнете с десния бутонщракнете върху иконата компютър.
  2. От контекстното меню изберете Имоти.
  3. Кликнете върху връзката Допълнителни системни настройки.
  4. Кликнете Променливи на средата. В глава Променливи на средатаизберете променливата на средата PATH. Кликнете промяна. Ако променливата PATH не съществува, щракнете върху Нов.
  5. В прозореца Промяна на системна променлива(или Нова системна променлива) задайте стойността на променливата на средата PATH. Кликнете Добре. затворете останалите отворени прозорцичрез натискане Добре.
  6. Отворете отново прозореца на командния ред и стартирайте java.
Уиндоус експи
  1. Кликнете Започнете, изберете Контролен панел, щракнете два пъти върху Системаи изберете раздела Допълнително.
  2. Кликнете Променливи на средата. В глава Променливи на средатаизберете променливата на средата PATH. Кликнете промяна. Ако променливата PATH не съществува, щракнете върху Нов.
  3. В прозореца Промяна на системна променлива(или Нова системна променлива) задайте стойността на променливата на средата PATH. Кликнете Добре. Затворете другите отворени прозорци, като щракнете Добре.
  4. Отворете отново прозореца на командния ред и стартирайте java.

MacOS X

За да стартирате различна версия на Java, посочете пълния път или използвайте инструмента java_home:

% /usr/libexec/java_home -v 1.8.0_73 --exec javac -версия

Solaris и Linux

  1. За да видите дали пътят е зададен правилно:
    В терминалните прозорци въведете:
    %java-версия
    Версията на java инструмента ще се покаже, ако не може да бъде намерена. Ако версията е остаряла или възникне грешка java: командата не е намерена, тогава пътят е неправилен.
  2. Определете кой изпълним файл java версияе първият открит в променливата ПЪТЕКА
    В прозореца на терминала въведете:
    % коя java
Окончателна настройка на пътя

За да зададете пътя за постоянно, конфигурирайте го във файла за автоматично зареждане.
Забележка.Предоставени са инструкции за двете най-популярни обвивки на Linux и Solaris. Ако използвате други обвивки, вижте урока за настройка на променливата PATH.

Баш черупка

Редактирайте файла за автоматично зареждане (~/.bashrc)

  1. Променете променливата ПЪТЕКАпроменливи
    PATH=/usr/local/jdk1.8.0/bin:$PATH
    експортиране на ПЪТ
  2. Изтеглете файла за автоматично зареждане
    %. /.профил

  3. %java-версия
C обвивка (csh)

Редактирайте файла за автоматично зареждане (~/.cshrc)

  1. Задайте пътя
    set path=(/usr/local/jdk1.8.0/bin $path)
  2. Запазете промените и затворете прозореца
  3. Изтеглете файла за автоматично зареждане
    %източник~/.cshrc
  4. Уверете се, че пътят е зададен, като повторите командата java
    %java-версия


Зареждане...
Връх