Ympäristömuuttuja ( eng. Environment variable ) on käyttöjärjestelmän tekstimuuttuja , joka tallentaa mitä tahansa tietoa - esimerkiksi tietoja järjestelmäasetuksista.
Ympäristömuuttujat asettavat käyttäjä tai komentosarjat. Alkuperäiset muuttujat asetetaan käyttöjärjestelmän käynnistysskripteillä ja komentosarjoilla, jotka käynnistetään, kun käyttäjä kirjautuu järjestelmään, erityisesti /etc/profileja ~/.bash_profile.
Ympäristöllä on suuri merkitys UNIX-järjestelmissä, koska se tallentaa monia asetuksia sekä koko järjestelmälle että yksittäisille ohjelmille. Tärkeä ominaisuus on, että luodessaan aliprosessi vastaanottaa paikallisen kopion emoprosessin ympäristöstä, eikä siksi voi muuttaa suoraan globaaleja asetuksia.
Ympäristö on joukko "muuttujan nimi" ja "muuttujan arvo" pareja, joiden hallinta on yleensä annettu komentotulkin tehtäväksi. Koska tulkkeja on paljon, syntaksi vaihtelee käyttäjän käyttämän tulkin mukaan. Sekä "nimi" ja "arvo" ovat isot ja pienet kirjaimet erottuvat, "Nimi" on yleensä isoilla kirjaimilla, välilyönnit eivät ole sallittuja.
Komentosarjoissa käytetään yleensä lajimäärityksiä ИМЯ_ПЕРЕМЕННОЙ="значение переменной", mutta tarkka syntaksi riippuu käytetystä tulkista.
Saadaksesi muuttujan arvon, kirjoita sen nimen eteen dollarimerkki. Joskus myös nimi on lisättävä sulkeisiin (esimerkiksi make scripts ).
Muuttujia hallitaan komentoriviltä käyttämällä export- ja env -toimintoja .
Ympäristömuuttujat asetetaan Windowsin rekisterissä ja ohjelmistoissa. Niitä voidaan käyttää komentorivillä ja File Explorerin osoiterivillä.
Windows - ympäristömuuttujat jakautuvat kahteen luokkaan:
Joihinkin ympäristömuuttujiin pääseminen on mahdollista tällä tavalla: %ИМЯ_ПЕРЕМЕННОЙ%. On myös mahdollista poimia muuttujasta osa muuttujasta (jos shell-laajennukset eivät ole käytössä tietokoneella, ne ovat oletusarvoisesti käytössä), esimerkiksi tulostamalla muuttujan eri osia VARWindowsin komentorivillä :
Asennettujen Windows-ympäristömuuttujien luettelo löytyy kirjoittamalla komentokehotteeseen: settai napsauttamalla Ympäristömuuttujat -painiketta Järjestelmän ominaisuudet -valintaikkunan Lisäasetukset-välilehdellä (Oma tietokone→ Ominaisuudet).
Nimi | Tarkoitus | Arvoesimerkki |
---|---|---|
%ALLUSERSPROFILE% | Määrittää polun kansioon jaetuille asiakirjoille ja kaikille käyttäjille yhteisille asetuksille . | C:\ProgramData\ |
%APPDATA% | Määrittää polun kansioon, johon nykyisen käyttäjän joidenkin ohjelmien asetukset on tallennettu. | C:\Documents And Settings\Администратор\Application Data |
%CLIENTNAME% | Muuttuja on määritetty vain Remote Desktop Connection -ympäristössä. Tallentaa etäkäyttöasiakkaan tietokoneen nimen (%COMPUTERNAME%). | MyPC |
%COMMONPROGRAMFILES% | Määrittää polun kansioon, johon asennettujen ohjelmien jakamat tiedostot tallennetaan. | C:\Program Files\Common Files |
%COMPUTERNAME% | Tallentaa tietokoneen nimen paikallisverkkoon. | Начальник |
%COMSPEC% | Tallentaa polun nykyiseen Windows - kuoreen . | C:\Windows\System32\cmd.exe |
%HOMEDRIVE%, %SYSTEMDRIVE% | Tallentaa järjestelmäaseman nimen. | C: |
%HOMEPATH%, %USERPROFILE% | Tallentaa polun käyttäjän kotikansioon | C:\Documents And Settings\Администратор |
%WINDIR% | Tallentaa polun kansioon, johon Windows on asennettu | C:\Windows |
%SYSTEMROOT% | Tallentaa polun järjestelmäkansioon (johon ydin on tallennettu jne.) | C:\Windows |
%PROGRAMFILES% | Tallentaa polun kansioon asennettujen sovellusten kanssa | C:\Program Files |
%SESSIONNAME% | Tallentaa käyttäjäistunnon nimen. Paikallisessa istunnossa arvo on konsoli, kun taas etätyöpöytäyhteydessä TCP/IP-protokollalla se on RDP-Tcp#<istuntonumero>. | Console, RDP-Tcp#1 |
Nykyaikaisissa Microsoft -käyttöjärjestelmissä NT -alustalla järjestelmän tietojen saamiseksi käytetään seuraavia muuttujia [1] ( lihavoitu teksti viittaa Windows-käyttöjärjestelmien versioihin, jotka alkavat Vistasta (Vista/7/8/8.1/10) ) :
Nimi | Tyyppi | Kuvaus |
---|---|---|
KAIKKIKÄYTTÄJÄPROFIILI | paikallinen | Palauttaa "Kaikki käyttäjät" -profiilin sijainnin. Windows 7:ssä palauttaa polun C:\ProgramData\-kansioon . |
SOVELLUSTIEDOT | systeeminen | Palauttaa sovellustietojen oletussijainnin. Windows XP:ssä tämä on C:\Documents and Settings\%UserName%\Application Data. Windows 7 -käyttöjärjestelmässä - C:\Users\%UserName%\AppData\Roaming . |
CD | paikallinen | Määrittää polun nykyiseen hakemistoon. Sama kuin CD-komento ilman argumentteja. |
ASIAKKAAN NIMI | paikallinen dynamiikka | Muuttuja on määritetty vain Remote Desktop Connection -ympäristössä. Tallentaa etäkäyttöasiakkaan tietokoneen nimen (%COMPUTERNAME%). |
CMDCMDLINE | paikallinen | Tarkka komento, jota käytetään nykyisen cmd.exe-tiedoston suorittamiseen. |
CMDEXTVERSION | systeeminen | Nykyisten Command Processor Extensions -laajennusten versio. |
YHTEISET OHJELMAT | systeeminen | "Common Files" -hakemiston sijainti (yleensä %ProgramFiles%\Common Files). |
YHTEISET PROGRAMFILES(x86) | systeeminen | "Common Files" -hakemiston sijainti Ohjelmatiedostoissa (x86) 64-bittisessä käyttöjärjestelmässä (yleensä %ProgramFiles(x86)%\Common Files) . |
TIETOKONENIMI | systeeminen | Tietokoneen nimi |
COMSPEC | systeeminen | Polku shell-suoritettavaan tiedostoon. |
PÄIVÄMÄÄRÄ | systeeminen | Palauttaa nykyisen päivämäärän. Käyttää samaa muotoa kuin päivämäärä /t-komento. Luotu Cmd.exe-komennolla. |
ERRORLEVEL | systeeminen | Palauttaa viimeksi käytetyn komennon virhekoodin. Nollasta poikkeava arvo tarkoittaa yleensä virhettä. |
HOMERIVE | systeeminen | Palauttaa käyttäjän kotihakemistoon liitetyn paikallisen työaseman aseman nimen. Aseta päähakemiston sijainnin perusteella. Käyttäjän kotihakemisto määritetään Paikalliset käyttäjät ja ryhmät -laajennuksessa. |
KOTIPATI | systeeminen | Palauttaa koko polun käyttäjän kotihakemistoon. Aseta päähakemiston sijainnin perusteella. Käyttäjän kotihakemisto määritetään Paikalliset käyttäjät ja ryhmät -laajennuksessa. |
KOTIJAKO | systeeminen | Palauttaa verkkopolun käyttäjän jaettuun kotihakemistoon. Aseta päähakemiston sijainnin perusteella. Käyttäjän kotihakemisto määritetään Paikalliset käyttäjät ja ryhmät -laajennuksessa. |
LOCALAPPDATA | systeeminen | Palauttaa sovellustietojen paikallisen oletussijainnin (C:\Users\%UserName%\AppData\Local) . |
LOGONSERVER | paikallinen | Sen toimialueen ohjaimen nimi, jota käytettiin nykyisen käyttäjän valtuutukseen. |
NUMBER_OF_PROCESSORS | systeeminen | Järjestelmän prosessorien määrä (itse asiassa ytimien määrä). |
OS | systeeminen | Käyttöjärjestelmän nimi. Windows XP ja Windows 2000 näkyvät nimellä Windows_NT. |
PATH | systeeminen | Määrittää suoritettavien tiedostojen hakupolun. |
PATHEXT | systeeminen | Palauttaa luettelon tiedostopäätteistä, jotka käyttöjärjestelmä pitää suoritettavina. |
PROCESSOR_ARCHITECTURE | systeeminen | prosessorin arkkitehtuuri. Mahdolliset vaihtoehdot: x86 , IA64 , AMD64 . |
PROCESSOR_IDENTIFIER | systeeminen | Prosessorin kuvaus (PROCESSOR_IDENTFIER:n kirjoitusvirhe löytyy usein Internetistä - kirjain puuttuu). |
PROSESSORI_TASO | systeeminen | Prosessorin mallinumero. |
PROCESSOR_REVISION | systeeminen | Prosessorin versio. |
OHJELMOIDA TIEDOSTOA | systeeminen | Palauttaa polun C:\ProgramData\-hakemistoon (samanlainen kuin ALLUSERSPROFILE) . |
OHJELMATIEDOSTOJA | systeeminen | Polku Program Files -hakemistoon . |
PROGRAMFILES (x86) | systeeminen | Polku Program Files (x86) -hakemistoon 64-bittisissä järjestelmissä x86-arkkitehtuurisovelluksille. |
PROMPT | paikallinen | Palauttaa nykyisen tulkin komentorivivaihtoehdot. Luotu Cmd.exe-komennolla. |
JULKINEN | systeeminen | Windows 7:ssä palauttaa polun C:\Users\Public-hakemistoon . |
RANDOM | systeeminen | Satunnainen desimaaliluku välillä 0 - 32767. Luonut Cmd.exe. |
SAFEBOOT_OPTION | systeeminen | On olemassa vain vikasietotilassa . Se ottaa sen vikasietotilan tyypin arvon, jossa järjestelmä on käynnissä. Vikasietotilassa ja vikasietotilassa, jossa on komentorivituki , sen arvo on MINIMAL. Vikasietotilassa ja verkkoajurien tuella se on asetettu verkkoon. |
SESSIONNAME | paikallinen | Tallentaa aktiivisen käyttäjäistunnon nimen. Aseta "Console" paikallista kirjautumista varten, RDP-Tcp#<istuntonumero> etäkäyttöä varten |
SYSTEMDRIVE | systeeminen | Asema, jossa Windowsin juurihakemisto sijaitsee. |
SYSTEMROOT | systeeminen | Polku Windowsin juurihakemistoon. |
TEMP ja TMP | järjestelmä ja paikallinen | Hakee oletusarvoiset väliaikaiset hakemistot, joita käyttävät sovellukset, jotka ovat kirjautuneiden käyttäjien käytettävissä. Jotkut sovellukset vaativat TEMP-muuttujan, toiset vaativat TMP-muuttujan. Mahdollisesti TEMP ja TMP voivat osoittaa eri hakemistoihin, mutta ovat yleensä samoja. |
AIKA | systeeminen | Palauttaa nykyisen ajan. Käyttää samaa muotoa kuin aika /t-komento. Luotu Cmd.exe-komennolla. Lisätietoja aikakomennosta on kohdassa Aika. |
USERDOMAIN | paikallinen | Sen verkkotunnuksen nimi, johon nykyinen käyttäjä kuuluu. |
KÄYTTÄJÄNIMI | paikallinen | Nykyisen käyttäjän nimi. |
KÄYTTÄJÄPROFIILI | paikallinen | Polku nykyisen käyttäjän profiiliin. |
WINDIR | systeeminen | Hakemisto, johon Windows on asennettu. |
Jos haluat käyttää muuttujan arvoa, sinun on laitettava %-merkki ennen ja jälkeen sen nimen, esimerkiksi:
echo %PROCESSOR_ARCHITECTURE%Muuttujan arvon asettaminen:
SET TEMP=C:\TEMPVoit myös käsitellä ympäristömuuttujia napsauttamalla "Ympäristömuuttujat" -painiketta "Lisäasetukset"-välilehdellä "Järjestelmän ominaisuudet" -valintaikkunassa ("Oma tietokone" -kuvakkeen kontekstivalikko → "Ominaisuudet").
Sinun on myös muistettava, että toisin kuin UNIX-järjestelmissä, DOSissa ja Windowsin tavallisessa komentorivissä ympäristömuuttujat eivät peri käynnistetyt prosessit, vaan ne jaetaan. Tämä mahdollistaa esimerkiksi ohjelmien tulosten palauttamisen niiden kautta, mutta toisaalta luo mahdollisuuden vaurioitumiseen tai ylivuotoon. Ylivuoto on erityisen tärkeä PATH-muuttujan kohdalla, koska sitä usein täydennetään erilaisten komentosarjojen ollessa käynnissä. Kun tällainen ylivuoto tapahtuu, pelkkä komentorivitulkin käynnistäminen uudelleen riittää. Tämä ongelma ei vaikuta UNIX-järjestelmistä (esim. Z-shell) siirrettyihin tulkkeihin.
Voit saada muuttujan arvon koodissa käyttämällä WScript.Shell COM -objektin ExpandEnvironmentStrings-metodia:
WScriptShell = ObjCreate("WScript.Shell") UserName = WScriptShell.ExpandEnvironmentStrings("%USERNAME%")On huomattava, että ympäristömuuttujien arvojen joukko saadaan prosessilla sen käynnistyshetkellä, kaikki sen käynnistämät orjaprosessit saavat muuttujien arvot tästä joukosta, jos toinen prosessi (riippumatta ensimmäisestä ) muuttaa ympäristömuuttujan arvoa tai luo uuden muuttujan, nämä muutokset eivät ole ensimmäisen prosessin käytettävissä.
Ympäristömuuttujien LOGONSERVER, CLIENTNAME, SESSIONNAME, APPDATA, HOMEDRIVE, HOMEPATH arvot asetetaan, kun istunto avataan rekisteriavaimen [HKEY_CURRENT_USER\Volatile Environment] arvojen perusteella.
Globaalien ympäristömuuttujien, kuten PATH, TEMP jne., arvot tallennetaan rekisterihaaraan [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment].
On hyvin yleistä ymmärtää väärin sana "ympäristö" ilmaisussa "Ympäristömuuttujat". Väärinkäsitys syntyy, kun luetaan sana "ympäristö" käyttämällä väärää painopistettä ensimmäisessä tavussa, mikä johtaa tämän sanan tunnistamiseen sanan "ympäristö" (ympäristö) nominatiivisen monikon muotona. Oikea on ymmärrys sanasta "ympäristö" sanan "ympäristö" genetiiviyksikön muotona ja ääntäminen painottaen toista tavua.
Näin ollen on väärin sanoa esimerkiksi "ympäristömuuttujilla" ("ympäristömuuttujilla"), mutta on oikein sanoa "ympäristömuuttujilla" ("ympäristömuuttujilla").