Променливата на средата е динамична стойност, която операционната система и друг софтуер могат да използват, за да определят информация, специфична за вашия компютър.
С други думи, това е нещо, което представлява нещо друго, като местоположение на вашия компютър, номер на версия, списък с обекти и т.н.
Променливите на средата са заобиколени от знака за процент (%), както в %temp%, за да се разграничат от обикновения текст.
Съществуват два типа: променливи на потребителската среда и променливи на системната среда.
Променливи на потребителската среда
Потребителските променливи на средата, както подсказва името, са променливи на средата, които са специфични за всеки потребителски акаунт.
Това означава, че стойността на променлива, когато сте влезли като един потребител, може да бъде различна от стойността на същата променлива, когато сте влезли като различен потребител на същия компютър.
Тези типове променливи на средата могат да бъдат зададени ръчно от всеки потребител, който е влязъл, но Windows и друг софтуер също могат да ги задават.
Един пример за променлива на потребителска среда е %homepath%. Например на един компютър с Windows 11 тази променлива съдържа стойността на Users\Tim, което е папката, която съдържа цялата специфична за потребителя информация.
Променливата на потребителската среда също може да бъде персонализирана. Потребителят може да създаде нещо като %data%, което може да сочи към папка на компютъра като C:\Downloads\Files. Променлива на средата като тази ще работи само когато този конкретен потребител е влязъл.
Можете да използвате персонализирана променлива на потребителската среда, ако искате да използвате преки пътища, за да обикаляте компютъра си. Или, ако сте мислили напред и сте създали скрипт, който сочи към променлива на средата, винаги можете да промените папката по-късно, без да се налага да коригирате целия код в скрипта.
Променливи на системната среда
Променливите на системната среда се простират отвъд само един потребител, като се прилагат към всеки потребител, който може да съществува или бъде създаден в бъдеще. Повечето променливи на системната среда сочат към важни места като папката на Windows.
Някои от най-често срещаните променливи на средата в Windows системите включват %path%, %programfiles%, % temp% и %systemroot%, въпреки че има много други.
Например, когато инсталирате Windows, %windir% се задава на директорията, в която е инсталиран. Тъй като инсталационната директория е нещо, което инсталаторът (това сте вие… или производителят на вашия компютър) може да дефинира в един компютър, тя може да бъде C:\Windows, но в друг може да еC:\Win10
Продължавайки с този пример, да кажем, че Microsoft Word е инсталиран на всеки от тези компютри, след като Windows приключи с настройката. Като част от процеса на инсталиране на Word, редица файлове трябва да бъдат копирани в директорията, в която е инсталиран Windows. Как Word може да бъде сигурен, че инсталира файловете на правилното място, ако това място е C:\ Windows на единия компютър и някъде другаде на другия?
За предотвратяване на потенциален проблем като този, Microsoft Word, както и повечето софтуери, са проектирани да се инсталират в %windir%, а не в конкретна папка. По този начин може да бъде сигурно, че тези важни файлове са инсталирани в същата директория като Windows, независимо къде може да е това.
Вижте страницата с разпознати променливи на средата на Microsoft за огромен списък с потребителски и системни променливи на средата, често използвани в Windows.
Как да намерите стойността на променлива на средата
Има няколко начина да видите каква е дадена променлива на средата.
Command Prompt Echo Command
В повечето случаи, поне в Windows, най-простият и вероятно най-бързият начин да направите това е чрез проста команда на командния ред, наречена echo.
Отворете командния ред и изпълнете точно следната команда, разбира се, замествайки %temp% за променливата на средата, която ви интересува:
echo %temp%
Обърнете внимание на стойността, която се показва непосредствено отдолу. Например echo %temp% може да доведе до това:
C:\Users\Jon\AppData\Local\Temp
За да изброите всички променливи на средата наведнъж, просто изпълнете set от командния ред. Или опитайте set user за списък с всички променливи, които започват с user (работи с всеки префикс).
Резултатът изглежда нещо подобно, където името на променливата е посочено първо, последвано от =и след това стойността:
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\jonfi\AppData\Roaming
asl. log=Destination=file
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-IAEQDK8
ComSpec=C: \WINDOWS\system32\cmd.exe
configsetroot=C:\WINDOWS\ConfigSetRoot
DriverData=C:\Windows\System32\Drivers\DriverData
HOMEDRIVE=C:HOMEPATH=\Users\jonfiLOCALAPPDATA=C:\Users\jonfi\AppData\Local LOGONSERVER=\\DESKTOP-IAEQDK8
Въведете set > ev.txt, за да пренасочите изхода на командата към файл, за да получите целия списък с променливи на средата, записан в TXT документ.
Команда за запис-изход на PowerShell
Можете също да използвате Windows PowerShell, за да видите към какво сочи определена променлива на средата, но синтаксисът е малко по-различен. Ето два начина да го направите:
Write-Output $env:temp
echo $Env:temp
Използвайте тази команда, за да видите всички променливи, изброени заедно:
Get-ChildItem Env:
Свойства на системата
Ако инструментите на командния ред ви плашат (не трябва), има по-дълъг начин да проверите стойността на променлива на средата.
Насочете се към контролния панел, след това системния аплет. След като сте там, изберете Разширени системни настройки, след това Променливи на средата в долната част. Това е непълен списък, но изброените имат стойностите точно до тях.
Linux printenv команда
На Linux системи можете да изпълните командата printenv от командния ред, за да изброите всички променливи на средата, които са дефинирани в момента.