Proměnná prostředí - Environment variable
An proměnná prostředí je dynamicky pojmenovaný hodnota které mohou ovlivnit způsob běhu procesy se bude chovat na počítači. Jsou součástí prostředí, ve kterém proces běží. Například běžící proces může dotazovat na hodnotu proměnné prostředí TEMP, aby zjistil vhodné umístění pro uložení dočasné soubory, nebo proměnnou HOME nebo USERPROFILE k vyhledání adresářová struktura vlastněný uživatelem, který proces spouští.
Ve své moderní podobě byly představeny v roce 1979 Verze 7 Unix, takže jsou zahrnuty ve všech Unix operační systém příchutě a varianty od tohoto bodu včetně Linux a Operační Systém Mac. Z PC DOS 2.0 v roce 1982 všechny uspěly Microsoft operační systémy, včetně Microsoft Windows, a OS / 2 také je zahrnuli jako funkci, i když s poněkud odlišnou syntaxí, použitím a standardními názvy proměnných.
Design
Celkově Unix a Unixový systémy, každý proces má svou vlastní samostatnou sadu prostředí proměnné. Ve výchozím nastavení, když je proces vytvořen, zdědí duplicitní prostředí svého nadřazeného procesu, s výjimkou explicitních změn provedených nadřízeným při vytváření podřízeného. Na API úrovni, musí být tyto změny provedeny mezi spuštěním Vidlička
a vykon
. Alternativně od velitelské granáty jako bash Uživatel může změnit proměnné prostředí pro konkrétní vyvolání příkazu nepřímým vyvoláním pomocí env
nebo pomocí ENVIRONMENT_VARIABLE = VALUE
notace. Spuštěný program může přistupovat k hodnotám proměnných prostředí pro účely konfigurace.
Shell skripty a dávkové soubory používají proměnné prostředí ke komunikaci dat a předvoleb dětské procesy. Lze je také použít k uložení dočasných hodnot pro pozdější použití ve skriptu prostředí. V Unixu však neexportované proměnné jsou pro to upřednostňovány, protože neunikají mimo proces.
V systému Unix bude proměnná prostředí, která se změní ve skriptu nebo v kompilovaném programu, ovlivnit pouze tento proces a případně podřízené procesy. Nadřazený proces a jakékoli nesouvisející procesy nebudou ovlivněny. Podobně změna nebo odebrání hodnoty proměnné uvnitř a DOS dávkový soubor změní proměnnou po dobu COMMAND.COM
existence.
V systému Unix jsou proměnné prostředí normálně inicializovány během spouštění systému skripty init systému, a proto jsou zděděny všemi ostatními procesy v systému. Uživatelé je mohou a často rozšiřují ve skriptu profilu pro příkazové prostředí, které používají. V systému Microsoft Windows je výchozí hodnota každé proměnné prostředí uložena v Registr Windows nebo nastavit v AUTOEXEC.BAT
soubor.
Na Unix, a setuid programu je dáno prostředí vybrané jeho volajícím, ale běží s jiným oprávněním než jeho volající. The dynamický linker obvykle načte kód z umístění určených proměnnými prostředí $ LD_LIBRARY_PATH
a $ LD_PRELOAD
a spusťte jej s oprávněním procesu. Pokud by to program setuid udělal, byl by nejistý, protože jeho volající by jej mohl přimět ke spuštění libovolného kódu, a tím zneužít svou autoritu. Z tohoto důvodu, libc zruší nastavení těchto proměnných prostředí při spuštění v procesu setuid. programy setuid obvykle zruší nastavení neznámých proměnných prostředí a zkontrolují ostatní nebo je nastaví na rozumné hodnoty.
Syntax
Proměnné lze použít jak ve skriptech, tak ve formátu příkazový řádek. Obvykle se na ně odkazuje umístěním speciálních symbolů před nebo kolem názvu proměnné. Například pro zobrazení domovského adresáře uživatele musí uživatel ve většině skriptovacích prostředí zadat:
echo $ DOMŮ
V interpretech příkazového řádku DOS, OS / 2 a Windows, jako je COMMAND.COM
a cmd.exe
, uživatel musí zadat toto:
ECHO %DOMOV%
v Windows PowerShell, uživatel musí zadat toto:
Zápis-výstup $ env: HOMEPATH
Příkazy env
, soubor
, a printenv
zobrazit všechny proměnné prostředí a jejich hodnoty. printenv
lze také použít k tisku jedné proměnné zadáním názvu této proměnné jako jediného argumentu příkazu.
Úkol
Příkazy env
a soubor
se také používají k nastavení proměnných prostředí a jsou často začleněny přímo do shellu.
Unix
V systému Unix lze použít také následující příkazy, které však často závisí na určitém prostředí.
VARIABILNÍ=hodnota #vývozní VARIABILNÍ # pro Bourne a související skořápky
vývozní VARIABILNÍ=hodnota # pro ksh, bash a související skořápky
setenv VARIABILNÍ hodnota # pro csh a související skořápky
Jak proměnné prostředí dosahují svého účinku, určuje několik jednoduchých zásad.
Proměnné prostředí jsou lokální pro proces, ve kterém byly nastaveny. Pokud se objeví dva procesy shellu a hodnota proměnné prostředí se změní v jednom, tato změna se ostatním nezobrazí.
Když je vytvořen podřízený proces, zdědí všechny proměnné prostředí a jejich hodnoty z nadřazeného procesu. Obvykle, když program volá jiný program, nejprve vytvoří podřízený proces pomocí rozdvojení, potom dítě upraví prostředí podle potřeby a nakonec dítě nahrazuje sám s programem, který má být volán. Tento postup dává volajícímu programu kontrolu nad prostředím volaného programu.
V Unixu a systémech podobných Unixu rozlišují názvy proměnných prostředí velká a malá písmena.
V skořápkách Unixu lze proměnné přiřadit bez znaku vývozní
klíčové slovo. Takto definované proměnné zobrazuje soubor
velení, ale jsou ne true proměnné prostředí, protože jsou ukládány pouze shellem a nejsou známy pro všechny ostatní procesy. The printenv
příkaz je nezobrazí a podřízené procesy je nezdědí.
VARIABILNÍ=hodnota
Syntaxe předpony exportuje "skutečnou" proměnnou prostředí do podřízeného procesu bez ovlivnění aktuálního procesu:[1]
VARIABILNÍ=hodnota program_name [argumenty]
Perzistence proměnné prostředí může být v celé relaci nebo v celém systému.
zrušeno je integrovaný příkaz implementovaný oběma Bourneova skořápka rodina (sh, ksh, bash atd.) a C shell rodina (csh, tcsh atd.) z Unixové příkazové řádky. Odvolá proměnnou prostředí, odstraní ji z paměti a exportovaného prostředí prostředí. Je implementován jako vestavěný shell, protože přímo manipuluje s vnitřními částmi shellu.[2][3] Nelze zrušit nastavení proměnných prostředí jen pro čtení. Pokud se někdo pokusí deaktivovat proměnnou jen pro čtení, příkaz unset vytiskne chybovou zprávu a vrátí nenulový výstupní kód.
DOS, OS / 2 a Windows
V interpretech příkazového řádku DOS, OS / 2 a Windows, jako je COMMAND.COM
a cmd.exe
, SOUBOR
příkaz se používá k přiřazení proměnných a hodnot prostředí pomocí následujících argumentů:
SOUBOR VARIABILNÍ=hodnota
The SOUBOR
příkaz bez jakýchkoli argumentů zobrazí všechny proměnné prostředí spolu s jejich hodnotami.
Příklady
Mezi příklady proměnných prostředí patří:
CESTA
: seznam adresářových cest. Když uživatel zadá příkaz bez zadání úplné cesty, zkontroluje se tento seznam, zda obsahuje cestu, která vede k příkazu.DOMOV
(Unixový ) aUŽIVATELSKÝ PROFIL
(Microsoft Windows): uveďte, kde se uživatel nachází domovský adresář se nachází v souborový systém.DOMŮ / {. AppName}
(Unixový ) aAPPDATA {DeveloperName AppName}
(Microsoft Windows): pro ukládání nastavení aplikace. Mnoho aplikací používá nesprávněUŽIVATELSKÝ PROFIL
pro nastavení aplikace ve Windows:UŽIVATELSKÝ PROFIL
by měl být použit pouze v dialogových oknech, která umožňují uživateli vybrat si mezi cestami jakoDokumenty / Obrázky / Stahování / Hudba
; pro programové účely,DATA APLIKACÍ
(pro nastavení cestovní aplikace sdílené mezi více zařízeními),LOCALAPPDATA
(pro nastavení místní aplikace) neboPROGRAMOVÉ DATA
(pro nastavení aplikace sdílené mezi více uživateli OS) by se mělo použít.[4]OBDOBÍ
(Unixový ): určuje typ počítačový terminál nebo emulátor terminálu používán (např.vt100
neboněmý
).PS1
(Unixový ): Určuje, jak se výzva zobrazí v souboru Bourneova skořápka a varianty.POŠTA
(Unixový ): používá se k označení, kde lze najít poštu uživatele.TEPLOTA
: umístění, kde mohou procesy ukládat dočasné soubory.
Pravdivé proměnné prostředí
Unix
$ CESTA
- Obsahuje seznam adresářů oddělených dvojtečkou, které shell hledá příkazy, které neobsahují lomítko v jejich názvu (příkazy s lomítky jsou interpretovány jako názvy souborů, které se mají spustit, a shell se pokusí soubory spustit přímo). Je to ekvivalent k DOS, OS / 2 a Okna
%CESTA%
proměnná.
$ DOMŮ
- Obsahuje umístění uživatele domovský adresář. Ačkoli domovský adresář aktuálního uživatele lze zjistit také pomocí funkcí C.
getpwuid
agetuid
,$ DOMŮ
je často používán pro větší pohodlí v různých shell skriptech (a dalších kontextech). Použití proměnné prostředí také dává uživateli možnost přejít na jiný adresář.
$ PWD
- Tato proměnná ukazuje na aktuální adresář. Ekvivalentní s výstupem příkazu pwd při volání bez argumentů.
$ DISPLEJ
- Obsahuje identifikátor displeje, který X11 programy by měly používat ve výchozím nastavení.
$ LD_LIBRARY_PATH
- Na mnoha unixových systémech s a dynamický linker, obsahuje seznam adresářů oddělených dvojtečkou, které by měl hledat dynamický linker sdílené objekty při vytváření obrazu procesu po
vykon
, než začnete hledat v jiných adresářích.
$ LIBPATH
nebo$ SHLIB_PATH
- Alternativy k
$ LD_LIBRARY_PATH
obvykle se používá ve starších verzích Unixu.
$ LANG, $ LC_ALL, $ LC _...
$ LANG
se používá k nastavení na výchozí národní prostředí. Například pokud jsou hodnoty národního prostředípt_BR
, poté je jazyk nastaven na (brazilskou) portugalštinu a případně se použije brazilská praxe. Jednotlivé aspekty lokalizace jsou kontrolovány jednotlivcem$ LC_
proměnné ($ LC_CTYPE
,$ LC_COLLATE
,$ LC_DATE
atd.).$ LC_ALL
lze použít k vynucení stejného národního prostředí pro všechny aspekty.
$ TZ
- Odkazuje na časové pásmo. Může být v několika formátech, a to buď zadáním samotného časového pásma, nebo odkazem na soubor (v
/ usr / share / zoneinfo
).
$ PROHLÍŽEČ
- Obsahuje seznam uživatelů oddělených dvojtečkou webový prohlížeč předvolby pro použití programy, které potřebují umožnit uživateli prohlížet obsah na a URL. Prohlížeče v seznamu jsou určeny k pokusu od prvního do posledního a zastaví se po prvním úspěšném. Toto uspořádání umožňuje nouzové chování v různých prostředích, např. V X11 prostředí, grafický prohlížeč (např Firefox ) lze použít, ale v prostředí konzoly lze použít prohlížeč na bázi terminálu (např Rys ) může být použito. A
% s
může být přítomen token, který určuje, kam má být umístěna adresa URL; jinak by měl být prohlížeč spuštěn s URL jako prvním argumentem.[5][6][7][8][9]
DOS
V systému DOS hlavní prostředí je poskytován primárním příkazovým procesorem, který zdědí pre-prostředí definováno v CONFIG.SYS
při prvním načtení. Jeho velikost lze konfigurovat pomocí PŘÍKAZ / E: n
parametr mezi 160[10] a 32767[10] bajtů. Místní prostředí segmenty zděděné na podřízené procesy se obvykle zmenší až na velikost obsahu, který obsahují. Některé procesory příkazového řádku (například 4DOS ) umožňují definovat minimální množství volného prostoru prostředí, které bude k dispozici při spouštění sekundárních granátů.[10] Zatímco obsah proměnných prostředí zůstává po uložení nezměněn, jejich názvy (bez%
") jsou vždy převedeny na velká písmena, s výjimkou pre-prostředí proměnné definováno prostřednictvím CONFIG.SYS
směrnice SOUBOR
pod DR DOS 6.0 a vyšší[11][12] (a pouze s VYPÍNAČE = / l
(pro "povolit malá písmena") pod DR-DOS 7.02 a vyšší).[10][13] V zásadě, MS-DOS 7.0 a vyšší také podporuje malá jména proměnných (% windir%
), ale neposkytuje uživatelům žádné prostředky k jejich definování. Názvy proměnných prostředí obsahující malá písmena jsou v prostředí uloženy stejně jako běžné proměnné prostředí, ale pro většinu softwaru DOS zůstávají neviditelné, protože jsou psány tak, aby očekávaly pouze velká proměnná.[10][11][12] Některé příkazové procesory omezují maximální délku názvu proměnné na 80 znaků.[10] I když v zásadě omezen pouze velikostí segment životního prostředí, některé programy pro DOS a 16bitové systémy Windows[10][poznámka 1] neočekávejte, že obsah proměnných prostředí přesáhne 128 znaků. DR-DOS COMMAND.COM
podporuje proměnné prostředí až do 255, 4DOS dokonce až 512 znaků.[10] Od té doby COMMAND.COM
lze konfigurovat (přes /L:128..1024
) k interní podpoře příkazových řádků do 1024 znaků v systému MS-DOS 7.0 a novějších by se mělo očekávat, že proměnné prostředí budou obsahovat také alespoň 1024 znaků. V některých verzích systému DR-DOS lze prostředí předané ovladačům, které po instalaci často své prostředí nepotřebují, zmenšit nebo přesunout SETENV
nebo Nainstalujte [VYSOKÉ]
/LOADHIGH
možnosti / Z
(nulové prostředí), / D [:loaddrive ]
(náhradní pohon, např. B: TSR.COM
) a /E
(přemístit prostředí nad program), aby se minimalizovala efektivně výsledná stopa rezidentní paměti ovladače.[14][13][11][15][16][17]
V dávkovém režimu jsou neexistující proměnné prostředí nahrazeny řetězcem s nulovou délkou.
Standardní proměnné prostředí nebo vyhrazené proměnné prostředí zahrnout:
%PŘIPOJIT%
(podporováno od DOS 3.3)- Tato proměnná obsahuje seznam adresářů oddělených středníkem, ve kterých se mají hledat soubory. Obvykle se mění pomocí
PŘIPOJIT /E
příkaz, který také zajistí, že názvy adresářů budou převedeny na velká písmena. Některý software systému DOS ve skutečnosti očekává, že jména budou uložena velkými písmeny a délka seznamu nepřekročí 121[10] znaků, proto se proměnná nejlépe nemění pomocíSOUBOR
příkaz. Dlouhé názvy souborů obsahující mezery nebo jiné speciální znaky nesmí být citovány ("
).
% KONFIGURACE%
(podporováno od MS-DOS 6.0 a PC DOS 6.1, také podporováno ROM-DOS[18])- Tato proměnná obsahuje symbolický název aktuálně zvolené spouštěcí konfigurace. Nastavuje to DOS BIOS (
IO.SYS
,IBMBIO.COM
atd.) na název definovaný odpovídajícímCONFIG.SYS
směrniceMENUITEM
před spuštěním primárního příkazového procesoru. Jeho hlavním účelem je umožnit další zvláštní případy vAUTOEXEC.BAT
a podobné batchjobs v závislosti na vybrané možnosti při spuštění. To lze emulovat pod DR-DOS pomocíCONFIG.SYS
směrniceSOUBOR
jakoSET CONFIG = 1
.
% CMDLINE%
(představeno s 4DOS, také podporováno od MS-DOS 7.0 )- Tato proměnná obsahuje plně rozšířený text aktuálně prováděného příkazového řádku. Aplikace jej mohou číst, aby zjistily použití a načíst dlouhé příkazové řádky, protože tradiční metoda načítání argumentů příkazového řádku prostřednictvím PSP (nebo související API Funkce) je omezena na 126 znaků a již není k dispozici, když FCB rozbalte nebo výchozí DTA se používá. Zatímco 4DOS podporuje delší příkazové řádky,
COMMAND.COM
stále ve výchozím nastavení podporuje pouze maximálně 126 znaků (pokud není přepsáno pomocí/U:128..255
k určení velikosti vyrovnávací paměti příkazového řádku), ale přesto se vnitřní příkazové řádky mohou prodloužit prostřednictvím f.e. variabilní expanze (v závislosti na/L:128..1024
velikost interní vyrovnávací paměti). Kromě bajtu délky příkazového řádku v PSP je příkazový řádek PSP obvykle omezen ASCII-13 a příkazové řádky delší než 126 znaků budou obvykle zkráceny vložením ASCII-13 na pozici 127,[12] ale na to se nelze spolehnout ve všech scénářích.[12][pozn. 2] U externích příkazů vyvolaných předcházejícím bude proměnná potlačena@
-symbol jako v@XCOPY ...
pro zpětnou kompatibilitu a za účelem minimalizace velikosti prostředí při načítání bez přemístění TSR. Některé beta verze Microsoft Chicago použitý% CMDLINE%
místo úplného příkazového řádku uložit pouze zbytek příkazového řádku přesahující 126 znaků.[11][12]
% COMSPEC%
(podporováno od DOS 2.0)- Tato proměnná obsahuje celou 8.3 cesta k příkazový procesor, typicky
C:COMMAND.COM
neboC: DOS COMMAND.COM
. Nesmí obsahovat dlouhé názvy souborů, ale pod DR-DOS může obsahovat hesla k souborům a adresářům. Je nastaven primárním příkazovým procesorem, aby ukazoval sám na sebe (obvykle odráží nastaveníCONFIG.SYS
směrniceSHELL
), takže rezidentní část příkazového procesoru může po provedení větších programů znovu načíst svou přechodnou část z disku. Hodnotu lze změnit za běhu, aby odrážela změny v konfiguraci, které by vyžadovaly, aby se příkazový procesor znovu načetl z jiných umístění. Proměnná se také používá při spouštění sekundárních granátů.
% COPYCMD%
(podporováno od MS-DOS 6.2 a PC DOS 6.3, také podporováno ROM-DOS[18])- Umožňuje uživateli určit
/ Y
přepnout (předpokládat "Ano" na dotazy) jako výchozí proKOPÍROVAT
,XCOPY
, aHÝBAT SE
příkazy. Výchozí hodnota/ Y
lze přepsat dodáním/ -Y
přepněte na příkazový řádek. The/ Y
switch dá příkazu příkaz k nahrazení stávajících souborů bez výzvy k potvrzení.
% DIRCMD%
(podporováno od MS-DOS 5.0 a PC DOS 5.0, také podporováno ROM-DOS[18])- Umožňuje uživateli určit vlastní výchozí parametry pro
DIR
příkaz, včetně specifikací souboru. Přednastavené výchozí přepínače lze přepsat poskytnutím záporného přepínače na příkazovém řádku. Například pokud% DIRCMD%
obsahuje/ Ž
přepínač, pak jej lze přepsat pomocíDIR / -W
na příkazovém řádku. To je podobné proměnné prostředí% $ DIR%
pod DOS Plus[19] a možnost definovat výchozí přepínače proDIR
přes jeho/C
nebo/ R.
přepne pod DR-DOSCOMMAND.COM
.[11]% DIRCMD%
je také podporován externímSDIR.COM
/DIR.COM
Stohovač příkazy pod Novell DOS 7 a vyšší.[11]
% LANG%
(podporováno od MS-DOS 7.0 )- Tuto proměnnou podporují některé nástroje pro přepnutí národního prostředí pro zprávy ve vícejazyčných vydáních.
% LANGSPEC%
(podporováno od MS-DOS 7.0 )- Tuto proměnnou podporují některé nástroje pro přepnutí národního prostředí pro zprávy ve vícejazyčných vydáních.
% NO_SEP%
(podporováno od PC DOS 6.3 a DR-DOS 7.07 )- Tato proměnná řídí zobrazení oddělovače tisíců ve zprávách různých příkazů. Ve výchozím nastavení mohou být potlačeny zadáním
NASTAVIT NO_SEP = ZAPNUTO
neboNASTAVIT NO_SEP = 1
pod PC DOS. DR-DOS navíc umožňuje přepsat systémový oddělovač tisíců zobrazený jako v e.NASTAVIT NO_SEP =.
.[10]
%CESTA%
(podporováno od DOS 2.0)- Tato proměnná obsahuje seznam adresářů oddělených středníkem, ve kterém tlumočník příkazů bude hledat spustitelné soubory. Ekvivalent Unixu
$ CESTA
proměnná (ale některé aplikace DOS a Windows také používají seznam k vyhledání datových souborů podobných souboru$ LD_LIBRARY_PATH
na unixových systémech). Obvykle se mění pomocíCESTA
(neboPATH / E
pod MS-DOS 6.0 Příkaz), který také zajistí, že názvy adresářů budou převedeny na velká písmena. Některý software pro DOS ve skutečnosti očekává, že jména budou uložena velkými písmeny a délka seznamu nepřekročí 123[10] postavy,[poznámka 1] proto by proměnná neměla být lépe upravována pomocíSOUBOR
příkaz.[10] Dlouhé názvy souborů obsahující mezery nebo jiné speciální znaky nesmí být citovány ("
). Ve výchozím nastavení se nejprve prohledá aktuální adresář, ale některé procesory příkazového řádku se líbí 4DOS dovolit ".
„(pro„ aktuální adresář “), které mají být zahrnuty do seznamu, aby bylo možné přepsat toto pořadí hledání; některé programy DOS jsou s touto příponou nekompatibilní.[10]
%VÝZVA%
(podporováno od DOS 2.0)- Tato proměnná obsahuje a
$
-tokenizovaný řetězec definující zobrazení výzva. Obvykle se mění pomocíVÝZVA
příkaz.
% TEMP%
(a% TMP%
)- Tyto proměnné obsahují cestu k adresáři, kde dočasné soubory by měly být uloženy. Nástroje operačního systému se obvykle používají pouze
% TEMP%
zatímco programy třetích stran také používají% TMP%
. Typicky% TEMP%
má přednost% TMP%
.
The DR-DOS rodina podporuje řadu dalších standardní proměnné prostředí počítaje v to:
%BETA%
- Tato proměnná obsahuje volitelnou zprávu zobrazenou některými verzemi (včetně DR DOS 3.41 ) z
COMMAND.COM
při spuštění sekundárních granátů.[20]
% DRDOSCFG%
/% NWDOSCFG%
/% OPENDOSCFG%
- Tato proměnná obsahuje adresář[21] (bez koncových znaků)
\
") kde hledat.INI
a.CFG
konfigurační soubory (tj. soubory specifické pro aplikaci DR-DOS jakoTASKMGR.INI
,TASKMAX.INI
,VIEWMAX.INI
,FASTBACK.CFG
atd., soubory specifické pro třídu jakoCOLORS.INI
nebo globální soubory jakoDRDOS.INI
,NWDOS.INI
,OPENDOS.INI
neboDOS.INI
), jak je používáNAINSTALUJTE
aZALOŽIT
příkazy a různé programy DR-DOS jakoDISKOPT
,DOSBOOK
,UPRAVIT
,FBX
,FILELINK
,ZÁMEK
,SECURITY.OVL
/NWLOGIN.EXE
,SERNO
,TASKMAX
,TASKMGR
,VIEWMAX
neboZRUŠIT
.[11] Nesmí obsahovat dlouhé názvy souborů.
% DRCOMSPEC%
- Tato proměnná volitelně obsahuje alternativní cestu k příkazovému procesoru, která má přednost před cestou definovanou v souboru
% COMSPEC%
proměnná, volitelně včetně hesel k souborům a adresářům. Alternativně může obsahovat speciální hodnotu „NA
„nebo“1
"za účelem vynucení použití% COMSPEC%
proměnná i ve scénářích, kdy% COMSPEC%
proměnná může ukazovat na nesprávný procesor příkazového řádku, například při spuštění některých verzí systému DR-DOSSYS
příkaz pod cizím operačním systémem.[22]
% DRSYS%
- Nastavení této proměnné na „
NA
„nebo“1
"vynutí některé verze DR-DOSSYS
příkaz k práci v cizích operačních systémech místo zobrazení varování.[22]
% FBP_USER%
- Určuje uživatelské jméno, které používá FastBack příkaz
FBX
a{uživatel}.FB
konfigurační soubory pod Novell DOS 7.[11]
% HOMEDIR%
- Tato proměnná může obsahovat domovský adresář pod DR-DOS (včetně DR DOS 5.0 a 6.0 ).[11][20]
% INFO%
- V některých verzích DR-DOS
COMMAND.COM
tato proměnná definuje řetězec zobrazený$ Já
žetonVÝZVA
příkaz.[20] Lze jej použít například k informování uživatele, jak ukončit sekundární skořápky.
%PŘIHLAŠOVACÍ JMÉNO%
- V některých verzích DR-DOS
COMMAND.COM
tato proměnná definuje uživatelské jméno zobrazené v$ U
žetonVÝZVA
příkaz nastavený f.e. přihlašovací skripty pro Novell NetWare.[10][11][20] Viz také podobně pojmenovaná pseudoměnná%PŘIHLAŠOVACÍ JMÉNO%
.
% MDOS_EXEC%
- Tato proměnná může nabývat hodnot "
NA
„nebo“VYPNUTO
„pod Multiuser DOS. Pokud je povoleno, operační systém umožňuje aplikacím rozdělit se na sekundární skořápky pomocí Oblast programu DOS (DPA) uvolněno, aby byla k dispozici maximální paměť DOS pro sekundární aplikace namísto jejich spouštění ve stejné doméně jako v systému DOS.[23][24]
% NOCHAR%
- Tuto proměnnou lze použít k definování znaku zobrazeného některými příkazy ve zprávách pro „Ne“ v
[Y, N]
dotazy, čímž přepíše aktuální výchozí nastavení systému (obvykle „N
"v anglických verzích systému DR-DOS). Pokud obsahuje řetězec, bude použit pouze první znak s velkými písmeny. Některé příkazy také podporují parametr příkazového řádku/ Y
automaticky předpokládat „Ano“ u dotazů, čímž tyto výzvy potlačuje. Pokud je však parametr/ Y: yn
se používá k určení znaků "Ano" / "Ne" (čímž přepíše všechny% NOCHAR%
nastavení), dotazy nebudou potlačeny. Viz také souvisejícíCONFIG.SYS
směrniceNOCHAR
a proměnná prostředí% YESCHAR%
.[22]
%ŽÁDNÝ ZVUK%
- Nastavení této proměnné na „
NA
„nebo“1
"zakáže výchozí pípnutí vydaná některými příkazy DR-DOS v určitých situacích, jako je informování uživatele o dokončení nějaké operace, o tom, že je vyžadována interakce uživatele, nebo když byla stisknuta špatná klávesa. přepíše toto nastavení.
% OS%
- Tato proměnná obsahuje název operačního systému, aby bylo možné rozlišit mezi různými operačními systémy DOS systému Digitální výzkum -původ v dávkových úlohách a aplikacích.[21] Mezi známé hodnoty patří „
DOSPLUS
" (DOS Plus 1.2 v emulaci DOS), "CPCDOS 4.1
"(DOS Plus 1.2 v CP / M emulace), "DRDOS
" (DR DOS 3.31 -6.0, DR DOS Panther, DR DOS StarTrek, DR-DOS 7.02[21]-7.05 ), "EZDOS
" (EZ-DOS 3.41 ), "PALMDOS
" a "NetWare PalmDOS
" (PalmDOS 1.0 ), "NWDOS
" (Novell DOS 7 ), "NWDOS7
„(Novell DOS 7 Beta),“OPENDOS
" (Caldera OpenDOS 7.01, Caldera DR-OpenDOS 7.02 ), "CDOS
" (Souběžný DOS, Souběžný DOS XM ), "CPCDOS
" (Souběžný PC DOS ), "CDOS386
" (Souběžný DOS 386 ), "DRMDOS
" (DR Multiuser DOS ), "MDOS
" (CCI Multiuser DOS ),[23] "IMSMDOS
" (IMS Multiuser DOS ), "REAL32
" (SKUTEČNÉ / 32 ).[11][25] MS-DOSINTERSVR
hledá hodnotu „DRDOS
" také.[25] Viz také identicky pojmenovanou proměnnou prostředí% OS%
později představen v Rodina Windows NT.
% PEXEC%
- V některých verzích DR-DOS tato proměnná definuje příkaz prováděný
$ X
žetonVÝZVA
velení předCOMMAND.COM
zobrazí výzvu po návratu z spuštění externího programu.[11][21]
% SWITCHAR%
- Tato proměnná definuje SwitChar být použit pro analýzu argumentů některými příkazy DR-DOS. Pokud je definováno, přepíše aktuální nastavení SwitChar systému. Jediné přijaté znaky jsou „
/
„(Styl DOS),“-
„(Unixový styl) a“[
"(Styl CP / M). Viz také související."CONFIG.SYS
směrnicePŘEPÍNAČ
(pro nastavení systému SwitChar) a%/%
proměnná systémových informací v některých vydáních systému DR-DOSCOMMAND.COM
(k načtení aktuálního nastavení pro přenosné batchjobs).
% TASKMGRWINDIR%
- Tato proměnná určuje adresář, kde Okna
SYSTÉM.INI
pro použití v systému DR-DOSTASKMGR
je umístěn multitasker, který přepíše výchozí postup pro vyhledání souboru.[11]
% VER%
- Tato proměnná obsahuje verzi operačního systému, aby bylo možné rozlišovat mezi různými verzemi DR-DOS v dávkových úlohách a na displeji
VER
příkaz.[21] Používá se také pro$ V
žetonVÝZVA
příkaz a ovlivňuje hodnotu vrácenou proměnná systémových informací% OS_VERSION%
. Mezi známé hodnoty patří „1.0
" (PalmDOS 1.0 ), "1.2
" (DOS Plus 1.2 v emulaci DOS), "2.0
" (Souběžný DOS 386 2.0 ), "3.0
" (Souběžný DOS 386 3.0 ), "3.31
" (DR DOS 3.31 ), "3.32
" (DR DOS 3.32 ), "3.33
" (DR DOS 3.33 ), "3.34
" (DR DOS 3.34 ), "3.35
" (DR DOS 3.35 ), "3.40
" (DR DOS 3.40 ), "3.41
" (DR DOS 3.41, EZ-DOS 3.41 ), "3,41T
" (DR DOS 3.41T ), "4.1
" (Souběžný PC DOS 4.1 ), "5.0
" (DR DOS 5.0, DR Multiuser DOS 5.0 ), "5.1
" (Novell DR Multiuser DOS 5.1 ), "6.0
" (DR Souběžný DOS XM 6.0, DR DOS 6.0 ), "6.2
" (DR Souběžný DOS XM 6.2 ), "7
" (Novell DOS 7, Caldera OpenDOS 7.01, DR-DOS 7.02 -7.05 ), "7.00
" (CCI Multiuser DOS 7.00 ), "7.07
" (DR-DOS 7.07 ), "7.1
" (IMS Multiuser DOS 7.1 ), "7.21
" (CCI Multiuser DOS 7.21 ),[23] "7.22
" (CCI Multiuser DOS 7.22 ) atd.[11][25][23]
% YESCHAR%
- Pomocí této proměnné lze definovat znak zobrazený některými příkazy ve zprávách pro „Ano“ v
[Y, N]
dotazy, čímž přepíše aktuální výchozí nastavení systému (obvykle „Y
"v anglických verzích systému DR-DOS). Pokud obsahuje řetězec, bude použit pouze první znak s velkými písmeny. Některé příkazy také podporují parametr příkazového řádku/ Y
automaticky předpokládat „Ano“ u dotazů, čímž tyto výzvy potlačuje. Pokud je však parametr/ Y: y
se používá k určení znaku "Ano" (čímž přepíše jakýkoli% YESCHAR%
nastavení), dotazy nebudou potlačeny. Viz také souvisejícíCONFIG.SYS
směrniceYESCHAR
a proměnná prostředí% NOCHAR%
.[22]
% $ CLS%
- Tato proměnná definuje řídicí sekvenci, která se má odeslat ovladači konzoly, aby se při
CLS
je vydán příkaz, čímž se přepíše interní výchozí nastavení ("← [2J
„under DR-DOS,“← E.
„pod DOS Plus 1.2 na strojích Amstrad[19] stejně jako pod Souběžný DOS, Multiuser DOS, a SKUTEČNÉ / 32 pro VT52 terminály nebo „←+
"pod Multiuser DOS pro ASCII terminály).[23] Pokud proměnná není definována a čANSI.SYS
ovladač konzoly, DR-DOSCOMMAND.COM
přímo vymaže obrazovku pomocíINT 10h / AH = 00h
BIOS jako MS-DOS / PC DOSCOMMAND.COM
dělá. Speciálnínnn
-notace pro osmičková čísla je podporováno, aby bylo možné definovat speciální znaky, jako je ESC (ASCII-27 = "←" = 1Bh = 33o), jako např. vSET $ CLS = 033 [2J
. Chcete-li odeslat zpětné lomítko („\
„) sám o sobě lze zdvojnásobit“\\
".[11][20][23]
% $ DIR%
- Podporováno DOS Plus přijetím hodnot "L" (dlouhý) nebo "W" (široký) změnit výchozí rozložení výpisů adresářů pomocí DIR. Lze přepsat pomocí možností příkazového řádku
/ L.
nebo/ Ž
.[20][19] Viz také podobná proměnná prostředí% DIRCMD%
aDIR
možnosti/C
a/ R.
DR-DOS COMMAND.COM.[11]
% $ PAGE%
- Podporováno DOS Plus přijímání hodnot "
NA
„nebo“VYPNUTO
"pro ovládání stránkování. Nastavení na"NA
"má stejný účinek jako přidání/ Str
na příkazy, které jej podporují (jako DIR nebo TYP ).[20][19]
% $ LENGTH%
- Používá DOS Plus definovat délku obrazovky konzoly v řádcích. Slouží k přenosnému ovládání, kdy by měl být výstup na obrazovce dočasně zastaven, dokud nestisknete klávesu ve spojení s
/ Str
možnost podporovaná různými příkazy nebo s automatickým stránkováním.[20][19] Viz také související proměnné prostředí% $ WIDTH%
a% DIRSIZE%
stejně jako podobná pseudoměnná% _ROWS%
.
% $ WIDTH%
- Používá DOS Plus definovat šířku obrazovky konzoly ve sloupcích. Slouží k tomu, aby bylo možné přenosným způsobem ovládat formátování výstupu z obrazovky příkazů, jako je
DIR / Ž
neboTYP název souboru
.[20][19] Viz také související proměnné prostředí% $ LENGTH%
a% DIRSIZE%
stejně jako podobná pseudoměnná% _COLUMNS%
.
% $ SLICE%
- Používá DOS Plus přijímání číselné hodnoty pro ovládání časových segmentů popředí / pozadí multitaskingových programů.[20][19] Viz také příkaz DOS Plus
PLÁTEK
.
% $ ON%
- Tato proměnná může obsahovat volitelnou řídicí sekvenci pro zapnutí zvýraznění, převrácení nebo vybarvení textu. Používá se ke zdůraznění nebo jiné kontrole zobrazení názvů souborů v příkazech jako
TYP divoká karta
, napříkladSET $ ON = 033 [1 m
s ANSI.SYS načten neboSET $ ON = 016
pro IBM nebo ESC / P tiskárna. Pro speciálnínnn
osmičkový zápis podporován, viz% $ CLS%
.[11][19] Zatímco proměnná není ve výchozím nastavení v systému DOS Plus a DR-DOS definována, symbol Multiuser DOS výchozí pro ASCII terminál se rovnáSET $ ON = 033p
.[20][23] Viz také související proměnnou prostředí% $ OFF%
.
% $ OFF%
- Tato proměnná může obsahovat volitelnou řídicí sekvenci pro vypnutí zvýraznění textu, jeho převrácení nebo vybarvení. Používá se k návratu na normální výstup po zobrazení názvů souborů v příkazech jako
TYP divoká karta
, napříkladSET $ OFF = 033 [0 mil
s ANSI.SYS naloženo neboSET $ OFF = 024
pro IBM nebo ESC / P tiskárna. Pro speciálnínnn
osmičkový zápis podporován, viz% $ CLS%
.[11][19] Zatímco proměnná není ve výchozím nastavení v systému DOS Plus a DR-DOS definována, symbol Multiuser DOS výchozí pro ASCII terminál se rovnáSET $ OFF = 033q
.[20][23] Viz také související proměnnou prostředí% $ ON%
.
% $ HEADER%
- Tato proměnná může obsahovat volitelnou řídicí sekvenci vydanou před výstupem obsahu souboru v příkazech jako
TYP
pod DR-DOS 7.02 a vyšší. Může být použit pro zvýraznění, stránkování nebo formátování, např. při odesílání výstupu na tiskárnu, tj.SET $ HEADER = 017
pro IBM nebo ESC / P tiskárna. Pro speciálnínnn
osmičkový zápis podporován, viz% $ CLS%
.[20] Viz také související proměnnou prostředí% $ FOOTER%
.
% $ FOOTER%
- Tato proměnná může obsahovat volitelnou řídicí sekvenci vydanou po výstupu obsahu souboru v příkazech jako
TYP
pod DR-DOS 7.02 a vyšší. Používá se k návratu do normálního výstupního formátu, tj.SET $ FOOTER = 022 014
ve výše uvedeném příkladu tiskárny. Pro speciálnínnn
osmičkový zápis podporován, viz% $ CLS%
.[20] Viz také související proměnnou prostředí% $ HEADER%
.
Datalight ROM-DOS podporuje řadu dalších standardní proměnné prostředí také včetně:
% DIRSIZE%
- Tato proměnná se používá k definování nestandardních velikostí obrazovky řádky [, sloupce] pro
DIR
možnosti / Str a / Ž (podobný% $ LENGTH%
a% $ WIDTH%
pod DOS Plus).[18]
%NOVÝ SOUBOR%
- Tato proměnná je automaticky nastavena na první parametr daný směrnici CONFIG.SYS NOVÝ SOUBOR.[18]
% TZ%
, % COMM%
, % ZÁSUVKY%
, % HTTP_DIR%
, % HOSTNAME%
a % FTPDIR%
jsou také používány ROM-DOS.[18]
OS / 2
% BEGINLIBPATH%
- Obsahuje seznam adresářů oddělených středníkem, které se hledají DLL před adresáře dané
% LIBPATH%
proměnná (která se nastavuje během spouštění systému pomocí speciální CONFIG.SYS směrniceLIBPATH
). Zde je možné určit relativní adresáře, včetně „.
"pro aktuální pracovní adresář. Viz také související proměnnou prostředí% ENDLIBPATH%
.
% ENDLIBPATH%
- seznam adresářů, které se mají hledat DLL jako
% BEGINLIBPATH%
, ale hledal po seznam adresářů v% LIBPATH%
.
Okna
Proměnné systémové cesty[Citace je zapotřebí ] odkazují na umístění důležitých prostředků operačního systému a jako takové obecně nejsou závislé na uživateli.
%DATA APLIKACÍ%
- Obsahuje úplnou cestu k Data aplikace adresář přihlášeného uživatele. Nepracuje v systému Windows NT 4.0 SP6 UK.
% LOCALAPPDATA%
- Tato proměnná je dočasný soubor Aplikace. Mezi jeho použití patří ukládání desktopové motivy, Hlášení chyb systému Windows, ukládání do mezipaměti a profily webových prohlížečů.
%ComSpec %
/%COMSPEC %
- The
% ComSpec%
proměnná obsahuje úplnou cestu k příkazovému procesoru; v rodině operačních systémů Windows NT to je cmd.exe, zatímco je zapnuto Windows 9x,% COMSPEC%
je COMMAND.COM.
% OS%
- The
% OS%
Proměnná obsahuje symbolický název rodiny operačních systémů pro rozlišení mezi různými sadami funkcí v batchjobs. Podobá se stejně pojmenované proměnné prostředí% OS%
lze nalézt ve všech operačních systémech systému DOS systému Digitální výzkum -původní jako souběžný DOS, Multiuser DOS, SKUTEČNÉ / 32, DOS Plus, DR DOS, Novell DOS a OpenDOS.% OS%
vždy drží řetězec "Windows_NT
" na Rodina Windows NT.[26]
%CESTA%
- Tato proměnná obsahuje seznam adresářů oddělených středníkem (nevkládejte mezery), ve kterém bude interpret příkazů hledat spustitelný soubor, který odpovídá danému příkazu. Proměnné prostředí, které představují cesty, mohou být vnořeny do
%CESTA%
variabilní, ale pouze na jedné úrovni indirection. Pokud tato proměnná prostředí dílčí cesty sama obsahuje proměnnou prostředí představující cestu,%CESTA%
se při substituci proměnných správně nerozbalí. Ekvivalentní k Unix$ CESTA
proměnná.
%Programové soubory%
,% ProgramFiles (x86)%
,% ProgramW6432%
- The
%Programové soubory%
variabilní body k Programové soubory adresář, ve kterém jsou uloženy všechny nainstalované programy systému Windows a dalších. Výchozí nastavení pro systémy v anglickém jazyce je „C: Program Files
". V 64bitových edicích systému Windows (XP, 2003, Vista) existují také% ProgramFiles (x86)%
, který je výchozí „C: Program Files (x86)
", a% ProgramW6432%
, který je výchozí „C: Program Files
"%Programové soubory%
sám závisí na tom, zda je proces vyžadující proměnnou prostředí sám o sobě 32bitový nebo 64bitový (je to způsobeno Windows-on-Windows 64-bit přesměrování).
% CommonProgramFiles%
- Tato proměnná ukazuje na Společné soubory adresář. Výchozí hodnota je „
C: Program Files Common Files
"v anglické verzi systému Windows.
% SystemDrive%
- The
% SystemDrive%
variable je speciální systémová proměnná prostředí, která se nachází v systému Windows NT a jeho derivátech. Jeho hodnotou je jednotka, na kterou byl umístěn systémový adresář. Hodnota% SystemDrive%
je ve většině případů “C:
".
% SystemRoot%
- The
% SystemRoot%
variable je speciální systémová proměnná prostředí, která se nachází v řadě operačních systémů Windows NT. Jeho hodnotou je umístění systémového adresáře, včetně jednotky a cesty. Pohon je stejný jako% SystemDrive%
a výchozí cesta k čisté instalaci závisí na verzi operačního systému. Ve výchozím stavu:- Windows XP a novější verze používají „
OKNA
". - Windows 2000, NT 4.0 a NT 3.1 použít "
VYHRAJ
". - Windows NT 3.5 a NT 3.51 používá "
WINNT35
". - Terminálový server Windows NT 4.0 používá "
WTSRV
".
- Windows XP a novější verze používají „
% windir%
- Tato proměnná ukazuje na Okna adresář. (V rodině operačních systémů Windows NT je totožný s
% SystemRoot%
proměnná). Windows 95, Windows 98 a Windows ME jsou ve výchozím nastavení nainstalovány v „C: Windows
". Pro ostatní verze systému Windows viz% SystemRoot%
výše uvedený záznam.
Proměnné správy uživatelů[Citace je zapotřebí ] ukládat informace týkající se zdrojů a nastavení vlastněných různými uživatelské profily v systému. Obecně platí, že tyto proměnné neodkazují na kritické systémové prostředky nebo umístění, která jsou nezbytná pro běh OS.
% ALLUSERSPROFILE%
(%PROGRAMOVÉ DATA%
od Windows Vista)- Tato proměnná se rozšíří na celou cestu k Všichni uživatelé adresář profilu. Tento profil obsahuje prostředky a nastavení, která používají všechny systémové účty. Zkratka odkazy zkopírovány do Všichni uživatelé\' Nabídka Start nebo plocha počítače adresáře se objeví u každého uživatele Nabídka Start nebo plocha počítače, resp.
% USERDOMAIN%
- Název Pracovní skupina nebo Windows doména ke kterému aktuální uživatel patří. Související proměnná,
% LOGONSERVER%
, drží název hostitele serveru, který ověřil přihlašovací údaje aktuálního uživatele (jméno a heslo). U domácích počítačů a počítačů v pracovní skupině je autentizačním serverem obvykle samotný počítač. U počítačů v doméně Windows je ověřovací server a řadič domény (primární řadič domény nebo PDC v doménách se systémem Windows NT 4).
%UŽIVATELSKÝ PROFIL%
- Speciální proměnná prostředí celého systému nalezená v systému Windows NT a jeho derivátech. Jeho hodnotou je umístění adresáře profilu aktuálního uživatele, ve kterém je nalezen podregistr HKCU daného uživatele (
NTUSER
). Uživatelé mohou také použít% USERNAME%
proměnná k určení aktivní přihlašovací identifikace uživatele.
Volitelné systémové proměnné[Citace je zapotřebí ] nejsou ve výchozím nastavení explicitně specifikovány, ale lze je použít k úpravě výchozího chování určitých integrovaných příkazů konzoly. Tyto proměnné také není nutné explicitně specifikovat jako argumenty příkazového řádku.
Výchozí hodnoty
The following tables shows typical default values of certain environment variables under English versions of Windows as they can be retrieved under CMD
.
(Some of these variables are also defined when running COMMAND.COM
under Windows, but differ in certain important details: Under COMMAND.COM
, the names of environment variable are always uppercased. Some, but not all variables contain short 8.3 spíše než long file names. While some variables present in the CMD
environment are missing, there are also some variables specific to the PŘÍKAZ
environment.)
Variabilní | Locale specific | Windows XP (CMD) | Windows Vista and later (CMD) |
---|---|---|---|
%ALLUSERSPROFILE%[27] | Ano | C:Documents and SettingsAll Users | C:ProgramData[27] |
%APPDATA%[27] | Ano | C:Documents and Settings{username}Application Data | C:Users{username}AppDataRoaming[27] |
%CommonProgramFiles%[27] | Ano | C:Program FilesCommon Files | C:Program FilesCommon Files[27] |
%CommonProgramFiles(x86)%[27] | Ano | C:Program Files (x86)Common Files (only in 64-bit version) | C:Program Files (x86)Common Files (only in 64-bit version)[27] |
%CommonProgramW6432%[27] | Ano | %CommonProgramW6432% (not supported, not replaced by any value) | C:Program FilesCommon Files (only in 64-bit version)[27] |
%COMPUTERNAME% | Ne | {computername} | {computername} |
%ComSpec% | Ne | C:WindowsSystem32cmd.exe | C:WindowsSystem32cmd.exe |
%HOMEDRIVE%[27] | Ne | C: | C:[27] |
%HOMEPATH%[27] | Ano | Documents and Settings{username} | Users{username}[27] |
%LOCALAPPDATA%[27] | Ano | %LOCALAPPDATA% (not supported, not replaced by any value) | C:Users{username}AppDataLocal[27] |
%LOGONSERVER% | Ne | {domain_logon_server} | {domain_logon_server} |
%PATH% | Ano | C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;{plus program paths} | C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;{plus program paths} |
%PATHEXT% | Ne | .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.WSF;.WSH | .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc |
%ProgramData%[27] | Ano | %ProgramData% (not supported, not replaced by any value) | %SystemDrive%ProgramData[27] |
%ProgramFiles%[27] | Ano | %SystemDrive%Program Files | %SystemDrive%Program Files[27] |
%ProgramFiles(x86)%[27] | Ano | %SystemDrive%Program Files (x86) (only in 64-bit version) | %SystemDrive%Program Files (x86) (only in 64-bit version)[27] |
%ProgramW6432%[27] | Ano | %ProgramW6432% (not supported, not replaced by any value) | %SystemDrive%Program Files (only in 64-bit version)[27] |
%PROMPT% | Ne | Code for current command prompt format, usually $P$G | Code for current command prompt format, usually $P$G |
%PSModulePath% | %PSModulePath% (not supported, not replaced by any value) | % SystemRoot%system32WindowsPowerShellv1.0Modules | |
%PUBLIC%[27] | Ano | %PUBLIC% (not supported, not replaced by any value) | %SystemDrive%UsersPublic[27] |
%SystemDrive%[27] | Ne | C: | C:[27] |
% SystemRoot%[27] | Ne | The Windows directory, usually C:Windows, formerly C:WINNT | %SystemDrive%Windows[27] |
%TEMP%[27] a %TMP%[27] | Ano | %SystemDrive%Documents and Settings{username}Local SettingsTemp | % SystemRoot%TEMP (for system environment variables %TMP% a %TEMP%), %UŽIVATELSKÝ PROFIL%AppDataLocalTemp[27] (for user environment variables %TMP% a %TEMP%) |
%USERDOMAIN% | Ne | {userdomain} | {userdomain} |
%USERNAME% | Ne | {username} | {username} |
%UŽIVATELSKÝ PROFIL%[27] | Ano | %SystemDrive%Documents and Settings{username} | %SystemDrive%Users{username}[27] |
%windir%[27] | Ne | %SystemDrive%WINDOWS | %SystemDrive%Windows[27] |
In this list, there is no environment variable that refers to the location of the user's Moje dokumenty directory, so there is no standard method for setting a program's home directory to be the Moje dokumenty adresář.
Pseudo-environment variables
DOS
Besides true environment variables, which are statically stored in the environment until changed or deleted, a number of pseudo-environment variables exist for batch processing.
Takzvaný replacement parameters nebo replaceable parameters (Microsoft / IBM terminology) aka replacement variables (Digital Research / Novell / Caldera terminology)[21] nebo batch file parameters (JP Software terminology)[10] %1
..%9
a %0
can be used to retrieve the calling parameters of a batchjob, see POSUN
. In batchjobs, they can be retrieved just like environment variables, but are not actually stored in the environment.
Some command-line processors (like DR-DOS COMMAND.COM
,[21] Multiuser DOS MDOS.COM
/TMP.EXE
(Terminal Message Process), JP Software 4DOS, 4OS2, 4NT, Převezměte velení a Windows cmd.exe ) support a type of pseudo-environment variables named system information variables (Novell / Caldera terminology)[21] nebo internal variables (JP Software terminology),[10] which can be used to retrieve various possibly dynamic, but read-only information about the running system in batch jobs. The returned values represent the status of the system in the moment these variables are queried; that is, reading them multiple times in a row may return different values even within the same command; querying them has no direct effect on the system. Since they are not stored in the environment, they are not listed by SOUBOR and do not exist for external programs to retrieve. If a true environment variable of the same name is defined, it takes precedence over the corresponding variable until the environment variable is deleted again. They are not case-sensitive.While almost all such variables are prefixed with an podtržítko ("_
") by 4DOS etc. by convention (f.e. %_SECOND%
),[10] they are not under DR-DOS COMMAND.COM
(f.e. %OS_VERSION%
).
In addition, 4DOS, 4OS2, 4NT, and Take Command also support so called variable functions,[10] including user-definable ones. They work just like internal variables, but can take optional parameters (f.e. %@EVAL[]%
) and may even change the system status depending on their function.
System information variables supported by DR-DOS COMMAND.COM
:
%AM_PM%
- This pseudo-variable returns the ante- or post-midday status of the current time. The returned string depends on the locale-specific version of DR-DOS, f.e. "
dopoledne
„nebo“odpoledne
" in the English version. It resembles an identically named identifier variable v Novell NetWare login scripts.
%DAY%
- This pseudo-variable returns the days of the current date in a 2-digit format with leading zeros, f.e. "
01
".."31
". See also the similar pseudo-variable%_DAY%
. It resembles an identically named identifier variable v Novell NetWare login scripts.
%DAY_OF_WEEK%
- This pseudo-variable returns the day name of the week in a 3-character format. The returned string depends on the locale-specific version of DR-DOS, f.e. "
slunce
", "Pondělí
", "Út
", "St
", "Čtvrtek
", "Pá
„nebo“So
" in the English version. It resembles an identically named identifier variable v Novell NetWare login scripts.
%ERRORLEVEL%
- v
COMMAND.COM
of DR-DOS 7.02 and higher, this pseudo-variable returns the last error level returned by an external program or theVRÁTIT SE
command, f.e. "0
".."255
".[28][29] See also the identically named pseudo-variable%ERRORLEVEL%
under Windows and theIF ERRORLEVEL
conditional command.
%ERRORLVL%
- In DR-DOS 7.02 and higher, this pseudo-variable returns the last error level in a 3-digit format with leading zeros, f.e. "
000
".."255
".[28][29] Pod Multiuser DOS, this is a true environment variable automatically updated by the shell to the return code of exiting programs.[23] See also the related pseudo-variable%ERRORLEVEL%
under DR-DOS and theIF ERRORLEVEL
příkaz.
%GREETING_TIME%
- This pseudo-variable returns the 3-level day greeting time. The returned string depends on the locale-specific version of DR-DOS, f.e. "
ráno
", "odpoledne
„nebo“večer
" in the English version. It resembles an identically named identifier variable v Novell NetWare login scripts.
%HOUR%
- This pseudo-variable returns the hours of the current time in 12-hour format without leading zeros, f.e. "
1
".."12
". It resembles an identically named identifier variable v Novell NetWare login scripts.
%HOUR24%
- This pseudo-variable returns the hours of the current time in 24-hour format in a 2-digit format with leading zeros, f.e. "
00
".."23
". It resembles an identically named identifier variable v Novell NetWare login scripts. See also the similar pseudo-variable%_HOUR%
.
%MINUTE%
- This pseudo-variable returns the minutes of the current time in a 2-digit format with leading zeros, f.e "
00
".."59
". It resembles an identically named identifier variable v Novell NetWare login scripts. See also the similar pseudo-variable%_MINUTE%
.
%MONTH%
- This pseudo-variable returns the months of the current date in a 2-digit format with leading zeros, f.e. "
01
".."12
". It resembles an identically named identifier variable v Novell NetWare login scripts. See also the similar pseudo-variable%_MONTH%
.
%MONTH_NAME%
- This pseudo-variable returns the month name of the current date. The returned string depends on the locale-specific version of DR-DOS, f.e. "
leden
", "Únor
", "březen
", "duben
", "Smět
", "červen
", "červenec
", "srpen
", "září
", "říjen
„nebo“prosinec
" in the English version. It resembles an identically named identifier variable v Novell NetWare login scripts.
%NDAY_OF_WEEK%
- This pseudo-variable returns the number of day of the current week, f.e. "
1
".."7
„(s“1
" for Sunday). It resembles an identically named identifier variable v Novell NetWare login scripts.
%OS_VERSION%
- This pseudo-variable returns the version of the operating system depending on the current setting of the environment variable
%VER%
. Li%VER%
is not defined,%OS_VERSION%
returns "vypnuto
". It resembles an identically named identifier variable v Novell NetWare login scripts, which may return versions also for non-DR-DOS versions of DOS.
%SECOND%
- This pseudo-variable returns the seconds of the current time in a 2-digit format with leading zeros, f.e. "
00
".."59
". It resembles an identically named identifier variable v Novell NetWare login scripts. See also the similar pseudo-variable%_SECOND%
.
%SHORT_YEAR%
- This pseudo-variable returns the year of the current date in a 2-digit format with leading zeros, f.e. "
93
".."99
", "00
".."92
". It resembles an identically named identifier variable v Novell NetWare login scripts.
%YEAR%
a%_YEAR%
- Supported since Novell DOS 7,
%YEAR%
pseudo-variable returns the year of the current date in a 4-digit format, f.e. "1980
".."2099
". It resembles an identically named identifier variable v Novell NetWare login scripts. DR-DOS 7.02 and higher added%_YEAR%
for compatibility with 4DOS, returning the same value.[10]
%/%
- v
COMMAND.COM
of DR-DOS 7.02 and higher, this pseudo-variable returns the current SwitChar setting of the system, either "/
" (DOS style) or "-
" (Unix style).[30][31] Viz také souvisejícíCONFIG.SYS
směrnice SWITCHAR and the environment variable%SWITCHAR%
.
%_CODEPAGE%
- This pseudo-variable returns the systems' current kódová stránka ("
1
".."65533
"), f.e. "437
", "850
", "858
". This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. Viz takéCHCP
příkaz.
%_COLUMNS%
- This pseudo-variable returns the current number of screen columns depending on the display mode, f.e. "
40
", "80
", "132
", etc. This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See also a similar environment variable%$WIDTH%
under DOS Plus.
%_COUNTRY%
- This pseudo-variable returns the systems' current kód země ("
1
".."65534
"), f.e. "1
" for USA, "44
" for UK, "49
" for Germany, "20049
„s ISO 8601, "21049
" with ISO 8601 and Euro Podpěra, podpora. This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. Viz takéCONFIG.SYS
směrniceZEMĚ
.
%_DAY%
- This pseudo-variable returns the days of the current date without leading zeros, f.e. "
1
".."31
". This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See also the similar pseudo-variable%DAY%
.
%_HOUR%
- This pseudo-variable returns the hours of the current time in 24-hour format without leading zeros, f.e. "
0
".."23
". This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See also the similar pseudo-variable%HOUR24%
.
%_MINUTE%
- This pseudo-variable returns the minutes of the current time without leading zeros, f.e "
0
".."59
". This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See also the similar pseudo-variable%MINUTE%
.
%_MONTH%
- This pseudo-variable returns the months of the current date without leading zeros, f.e. "
1
".."12
". This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See also the similar pseudo-variable%MONTH%
.
%_ROWS%
- This pseudo-variable returns the current number of screen rows depending on the display mode, f.e. "
25
", "43
", "50
", etc. This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See a similar environment variable%$LENGTH%
under DOS Plus.
%_SECOND%
- This pseudo-variable returns the seconds of the current time without leading zeros, f.e. "
0
".."59
". This variable was originally introduced by 4DOS,[10] but also became available withCOMMAND.COM
since DR-DOS 7.02. See also the similar pseudo-variable%SECOND%
.
System information variables supported by DR-DOS COMMAND.COM
with networking loaded:
%LOGIN_NAME%
- This pseudo-variable returns the user name. This always worked with
NETX
, but it will also work with Osobní NetWare je ODI /VLM if the current drive is a PNW-mapped drive (otherwise an empty string is returned). See also the similarly named environment variable%LOGINNAME%
.
%P_STATION%
- This pseudo-variable returns the physical station number in a format "
????????????
". The value depends on the MAC adresa of the network adapter, but can be overridden. It resembles an identically named identifier variable v Novell NetWare login scripts.
%STATION%
- This pseudo-variable returns the logical station number starting with "
1
" for the first client. The numbers are assigned by the file server and remain static for as long as the IPX connection remains established. It resembles an identically named identifier variable v Novell NetWare login scripts.
%FULL_NAME%
- This pseudo-variable returns the full name of the logged in user, if available. It resembles an identically named identifier variable v Novell NetWare login scripts. See also the related pseudo-variable
%LOGIN_NAME%
.
Okna
Dynamic environment variables (také pojmenovaný internal variables nebo system information variables under DOS) are pseudo-environment variables supported by CMD
when command-line extensions are enabled, and they expand to various discrete values whenever queried, that is, their values can change when queried multiple times even within the same command. While they can be used in batch jobs and at the prompt, they are not stored in the environment. Consequently, they are neither listed by SOUBOR
nor do they exist for external programs to read. They are not case-sensitive.
Indirectly, they are also supported under Windows' COMMAND.COM
, which has been modified to internally call CMD.EXE
to execute the commands.
%CD%
- This pseudo-variable expands to the current directory equivalent to the output of the command
CD
when called without arguments. While a long filename can be returned underCMD.EXE
depending on the current directory, the fact that the current directory will always be in 8.3 format underCOMMAND.COM
will cause it to return a short filename underCOMMAND.COM
, i kdyžPŘÍKAZ
internally callsCMD
.
%CMDCMDLINE%
- This pseudo-variable expands to the original startup parameters of
CMD.EXE
, f.e. "C:Windowssystem32cmd.exe
". Under Windows'COMMAND.COM
, this may return something like "C:Windowssystem32cmd.exe /c ...
" due to the fact thatCOMMAND.COM
hovoryCMD.EXE
vnitřně.
%CMDEXTVERSION%
- This pseudo-variable expands to the version of the command-line extensions of
CMD.EXE
, if enabled (e.g. "1
„pod Windows NT, "2
„pod Windows 2000 a Windows XP ).
%DATE%
- This pseudo-variable expands to the current date. The date is displayed according to the current user's formát data předvolby.
%ERRORLEVEL%
- This pseudo-variable expands to the last set error level, a value between "
0
" a "255
" (without leading zeros).[28][32][29] External commands and some internal commands set error levels upon execution. See also the identically named pseudo-variable%ERRORLEVEL%
under DR-DOS and theIF ERRORLEVEL
příkaz.
%RANDOM%
- This pseudo-variable returns a random number between "
0
" a "32767
".
%TIME%
- This pseudo-variable returns the current time. The time is displayed according to the current user's time format preferences. Pokud
%TIME%
a%DATE%
variables are both used, it is important to read them both in this particular order in rapid succession in order to avoid midnight-rollover problems.
Viz také
- Proměnná (informatika)
- Seznam unixových příkazů
- Seznam příkazů systému DOS
- Speciální složka
- Modules Environment
- PWB skořápka
Poznámky
- ^ A b Applications not coping properly with environment variables longer than 128 characters include CadStar PCB, Checkit, Computer Select CD-ROM, RenderMan, VINES Network, Windows 3.0, a Word for Windows 6.0.
- ^ 4DOS a MS-DOS 7.0 set the length to 127 and insert ASCII-13 at this position, but Borland libraries set the length to the invalid value of 128 and do not insert an ASCII-13. For shorter command lines, 4DOS/NDOS a DR-DOS also insert an ASCII-0 after the ASCII-13, but not when invoked vis INSTALL directive; MS-DOS doesn't.
Reference
- ^ Robbins, Arnold; Beebe, Nelson H. F. (May 2005). Apandi, Tatiana; Randal, Allison; Witwer, Adam (eds.). Classic Shell Scripting (1. vyd.). O'Reilly. ISBN 978-0-596-00595-5.
- ^ "unset - unset values and attributes of variables and functions – ". Commands & Utilities Reference, Specifikace Single UNIX - The Open Group Base Specifications, IEEE Std 1003.1-2008 (Issue 7 ed.). The IEEE a Otevřená skupina. 2016 [2001]. Archivováno od originálu na 2017-12-18. Citováno 2017-12-18.
- ^ fgrose (2015-07-31) [2011]. "The unset builtin command". Bash Hackers Wiki. Archivováno od originálu na 2017-12-18. Citováno 2017-12-18.
- ^ Jacobs, Mike; Koren, Alexander; Satran, Michael (2017-11-14). "Store and retrieve settings and other app data". Microsoft. Archivováno od originálu na 2017-12-18. Citováno 2017-12-18.
- ^ Raymond, Eric (2002-08-02) [Originally published 2001]. "The BROWSER project". Archivováno od původního dne 21. 9. 2019. Citováno 2020-10-21.
- ^ "LWN - Development". LWN.net. 2001-02-01. Archivováno z původního dne 2019-02-08. Citováno 2020-10-21.
Standardizing a BROWSER environment variable. Eric Raymond is promoting the use of a new environment variable, BROWSER, to complement the existing PAGER, MAILER, and EDITOR variables. This effort is being tested as an experiment in hacking social systems.
- ^ Špaček, Michal (2020-01-19) [First version published 2013]. "Env::Browser-0.06". metacpan.org. Archivováno od původního dne 2020-10-21. Citováno 2020-10-21.
Env::Browser - Process environment variable $BROWSER and run web browser
- ^ "webbrowser — Convenient Web-browser controller". docs.python.org. Archivováno od původního dne 2020-10-13. Citováno 2020-10-21.
- ^ "DefaultWebBrowser - Debian Wiki". wiki.debian.org. 2020-06-10. Archivováno od původního dne 2020-10-21. Citováno 2020-10-21.
The environment variable BROWSER can be set to[…] always choose your desired browser.
- ^ A b C d E F G h i j k l m n Ó p q r s t u proti w X y z aa ab Brothers, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R .; Dye, Charles E .; Georgiev, Luchezar I. (2002-02-27). Online nápověda 4DOS 8.00.
- ^ A b C d E F G h i j k l m n Ó p q r Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs - Tipy a triky, rund um Novell DOS 7, s Blick auf undokumentierte Podrobnosti, Bugs and Workarounds. MPDOSTIP. Vydání 157 (v němčině) (3. vydání). Archivováno z původního dne 2016-11-04. Citováno 2014-08-06. (Pozn. NWDOSTIP.TXT je komplexní práce na Novell DOS 7 a OpenDOS 7.01, včetně popisu mnoha nezdokumentovaných funkcí a interních prvků. The provided link points to a HTML-converted version of the file, which is part of the
MPDOSTIP.ZIP
collection.) [1] - ^ A b C d E Paul, Matthias R. (1997-05-01) [1995-03-01]. "Hinweise zu JPSofts 4DOS 5.5b/c, 5.51, 5.52a und NDOS". MPDOSTIP (v němčině). Archivováno z původního dne 2016-11-04. Citováno 2015-05-08. (NB. The provided link points to a HTML-converted version of the
4DOS5TIP.TXT
file, which is part of theMPDOSTIP.ZIP
collection.) [2] - ^ A b Paul, Matthias R. (10.02.1997). „Aktualizace Caldera OpenDOS 7.01 / 7.02 Alpha 3 IBMBIO.COM README.TXT“. Archivovány od originál on 2003-10-04. Citováno 2009-03-29. [3]
- ^ Paul, Matthias R. (1997-05-27) [1996]. "SETENV v1.11". Archivovány od originál dne 15. 2. 2009. Citováno 2019-08-09.
[…] SETENV […] to hide and later restore the […] pre-environment […] By using SETENV.COM you can save some KiloBytes of rare DOS memory […] depending on the number of drivers loaded by INSTALL= /INSTALLHIGH= /HIINSTALL= and the current size of the pre-environment. […] this original […] feature cannot be found in any known memory manager/optimizer. […]
- ^ Paul, Matthias R. (2002-04-06). „Re: [fd-dev] OZNAM: CuteMouse 2.0 alfa 1“. freedos-dev. Archivováno z původního dne 2020-02-07. Citováno 2020-02-07.
[…] In CTMOUSE.ASM prepareTSR routine I found a comment in regard to the zero-environment. […] DESQview nebo DRDOS zero-env? […] release environment block […] skip if any problem […] zero-pad for MEM style utilities […]
- ^ „Uživatelská příručka k systému PTS-DOS 2000 Pro“ (PDF). Archivováno (PDF) z původního dne 2018-05-12. Citováno 2018-05-12.
- ^ Paul, Matthias R. (2002-10-07). "Re: Spustit soubor COM". Diskusní skupina: alt.msdos.programmer. Archivováno z původního dne 2017-09-03. Citováno 2017-09-03. [4]
- ^ A b C d E F Datalight, Inc.; GPvNO (April 2005) [1999]. „Uživatelská příručka Datalight ROM-DOS“ (PDF). Datalight, Inc. 3010-0200-0716. Archivováno (PDF) od originálu na 2019-03-20. Citováno 2018-09-16.
- ^ A b C d E F G h i Kotulla, Martin (Listopad 1987). "Von CP/M zu MS-DOS, Teil 11" (PDF). Professional Computing (PC) - Schneider International (v němčině). 3 (11): 100–103. Archivováno (PDF) z původního dne 2019-04-24. Citováno 2018-05-20.
- ^ A b C d E F G h i j k l m n Paul, Matthias R. (2002-03-26). "Updated CLS posted". freedos-dev mailing list. Archivováno od originálu dne 10. 10. 2018. Citováno 2014-08-06.
- ^ A b C d E F G h Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archivovány od originál dne 04.11.2016. Citováno 2013-08-10.
- ^ A b C d Paul, Matthias R. (2017-08-14) [2017-08-07]. „Pokračující sága systému Windows 3.1 ve vylepšeném režimu na notebooku OmniBook 300“. MoHPC - muzeum HP kalkulaček. Archivováno od původního dne 2018-05-01. Citováno 2018-05-01.
[…] set DRSYS=ON (optional to tell SYS you are aware of the fact that you're running it in a foreign environment and want to proceed anyway without having to individually ACK some warnings and extra info screens displayed in this scenario otherwise) […]
- ^ A b C d E F G h i CCI Multiuser DOS 7.22 GOLD Online Documentation. Concurrent Controls, Inc. (CCI). 1997-02-10. HELP.HLP.
- ^ CCI Multiuser DOS 7.22 GOLD Installation Guide. Concurrent Controls, Inc. (CCI). 1997-02-10. PRINTDOC.HLP.
- ^ A b C Paul, Matthias R. (2002-02-20). "How to detect FreeCOM/FreeDOS in-batch?". freedos-dev mailing list. Archivováno from the original on 2018-11-06. Citováno 2014-08-06.
- ^ Brink, Shawn (2018-11-17). "Environment Variables in Windows 10 - Complete List of Environment Variables in Windows 10". Windows Ten Forums. Archivováno od originálu na 2019-03-27. Citováno 2019-04-24.
- ^ A b C d E F G h i j k l m n Ó p q r s t u proti w X y z aa ab ac inzerát ae af ag ah ai aj ak Schulz, Hajo (2014-10-02). "Ordner für spezielle Fälle — Die "benannten Ordner" in Windows aus User- und Entwicklersicht" [Special purpose folders — Windows' "named folders" from a user's and developer's perspective]. c't - magazin für computertechnik (v němčině). Heise Verlag. 2014 (22): 180–184. Archivováno z původního dne 2016-07-09. Citováno 2019-04-08.
- ^ A b C Paul, Matthias R. (1997-05-01) [1993-10-01]. BATTIPs — Tips & Tricks zur Programmierung von Batchjobs. MPDOSTIP (v němčině). 7: ERRORLEVEL abfragen. Archivováno z původního dne 2017-08-23. Citováno 2017-08-23. [5] [6] (NB. BATTIPS.TXT is part of MPDOSTIP.ZIP. The provided link points to a HTML-converted older version of the BATTIPS.TXT file.) [7]
- ^ A b C Auer, Eric; Paul, Matthias R .; Hall, Jime (2015-12-24) [2003-12-31]. "MS-DOS errorlevels". Archivovány od originál on 2015-12-24.
- ^ Paul, Matthias R. (1998-01-09). DELTREE.BAT R1.01 Extended file and directory delete. Caldera, Inc. Archivovány od originál dne 2019-04-08. Citováno 2019-04-08.
- ^ DR-DOS 7.03 WHATSNEW.TXT — Changes from DR-DOS 7.02 to DR-DOS 7.03. Caldera, Inc. 1998-12-24. Archivovány od originál dne 2019-04-08. Citováno 2019-04-08.
- ^ Allen, William; Allen, Linda. "Windows 95/98/ME ERRORLEVELs". Archivovány od originál dne 07.07.2011.
Další čtení
- Chen, Raymond (2010-05-06). "What are these strange =C: environment variables?". The New Old Thing. Microsoft. Archivováno od originálu na 2018-05-27. Citováno 2017-05-27.
externí odkazy
- Linux Programátor Manuál – Overview, Conventions and Miscellanea : user environment –
- FreeBSD ruzne informace Manuál –
- Darwine a Operační Systém Mac ruzne informace Manuál –
- Solaris 10 Standards, Environments and Macros Reference Manuál –
- Environment Variables Wiki
- User Environment Variables
- fix setx.exe not found bug