Miljøvariabel - Environment variable
En miljøvariabel er en dynamisk navngitt verdi som kan påvirke måten prosesser vil kjøre på på en datamaskin. De er en del av miljøet der en prosess kjøres. For eksempel kan en kjørende prosess spørre verdien til TEMP -miljøvariabelen for å finne et passende sted for å lagre midlertidige filer , eller HOME- eller USERPROFILE -variabelen for å finne katalogstrukturen som eies av brukeren som kjører prosessen.
De ble introdusert i sin moderne form i 1979 med versjon 7 Unix , så er inkludert i alle Unix -operativsystemsmaker og varianter fra det tidspunktet, inkludert Linux og macOS . Fra PC DOS 2.0 i 1982 har alle etterfølgende Microsoft -operativsystemene, inkludert Microsoft Windows og OS/2, også inkludert dem som en funksjon, men med noe annen syntaks, bruk og standard variabelnavn.
Design
I alle Unix- og Unix-lignende systemer, så vel som på Windows, har hver prosess sitt eget separate sett med miljøvariabler . Som standard, når en prosess opprettes, arver den et duplikat kjøretidsmiljø av sin overordnede prosess, bortsett fra eksplisitte endringer som gjøres av forelder når den oppretter barnet. På API -nivå må disse endringene utføres mellom kjøring fork
og exec
. Alternativt, fra kommandoskjell som bash , kan en bruker endre miljøvariabler for en bestemt kommandokalling ved indirekte å påberope den via env
eller bruke ENVIRONMENT_VARIABLE=VALUE <command>
notasjonen. Et program som kjører kan få tilgang til verdiene til miljøvariabler for konfigurasjonsformål.
Shell -skript og batchfiler bruker miljøvariabler for å kommunisere data og preferanser til underordnede prosesser . De kan også brukes til å lagre midlertidige verdier for referanse senere i et skallskript. I Unix foretrekkes imidlertid ikke-eksporterte variabler for dette, da de ikke lekker utenfor prosessen.
I Unix vil en miljøvariabel som endres i et skript eller et kompilert program bare påvirke prosessen og muligens underordnede prosesser. Den overordnede prosessen og eventuelle ikke -relaterte prosesser vil ikke bli påvirket. På samme måte vil endring eller fjerning av en variabels verdi i en DOS -batchfil endre variabelen så lenge COMMAND.COM
den eksisterer.
I Unix initialiseres miljøvariablene normalt under systemoppstart av system init -oppstartsskriptene , og arves derfor av alle andre prosesser i systemet. Brukere kan, og gjør det ofte, ved å utvide dem i profilskriptet for kommandoskallet de bruker. I Microsoft Windows er hver miljøvariabels standardverdi lagret i Windows -registret eller angitt i AUTOEXEC.BAT
filen.
På Unix får et setuid -program et miljø valgt av den som ringer, men det kjører med annen autoritet enn den som ringer. Den dynamiske linker vil vanligvis laste kode fra steder som er angitt av miljøvariabler $LD_LIBRARY_PATH
og $LD_PRELOAD
og kjøre den med prosessen autoritet. Hvis et setuid -program gjorde dette, ville det være usikkert, fordi oppringeren kunne få det til å kjøre vilkårlig kode og dermed misbruke autoriteten. Av denne grunn opphever libc disse miljøvariablene ved oppstart i en setuid -prosess. setuid -programmer deaktiverer vanligvis ukjente miljøvariabler og sjekker andre eller setter dem til rimelige verdier.
Generelt fungerer samlingen av miljøvariabler som en assosiativ matrise der både nøklene og verdiene er strenger. Tolkningen av tegn i begge strenger er forskjellig fra system til system. Når datastrukturer som lister må representeres, er det vanlig å bruke et kolon (vanlig på Unix og Unix-lignende) eller semikolon-deliminert (vanlig på Windows og DOS) -liste.
Syntaks
Variablene kan brukes både i skript og på kommandolinjen . De refereres vanligvis til ved å sette spesielle symboler foran eller rundt variabelnavnet.
Det er vanlig at miljøvariabelnavn velges i store bokstaver. I programmeringskoden bidrar det generelt til å skille miljøvariabler fra andre typer navn i koden. På Unix-lignende operativsystemer er miljøvariabelnavn store og små bokstaver, men de er ikke på DOS, OS/2 og Windows.
Unix
I de fleste Unix- og Unix-lignende kommandolinjeskall hentes en miljøvariabels verdi ved å plassere et $
tegn foran variabelens navn. Om nødvendig kan navnet også være omgitt av seler.
For å vise brukerens hjemmekatalog kan brukeren skrive:
echo $HOME
Hvis det er xyz
nødvendig å føye til verdien av HOME
variabelen, kan man skrive:
echo ${HOME}xyz
I Unix og Unix-lignende systemer er navnene på miljøvariabler store og små bokstaver.
Kommandoen env
viser alle miljøvariabler og deres verdier. Kommandoen printenv
kan også brukes til å skrive ut en enkelt variabel ved å gi variabelnavnet som det eneste argumentet til kommandoen.
DOS, OS/2 og Windows
I kommandolinjetolker i DOS, OS/2 og Windows, for eksempel COMMAND.COM
og cmd.exe
, hentes en miljøvariabel ved å plassere et %
tegn før og etter det.
Miljøvariabelen som heter HOMEDRIVE
inneholder stasjonsbokstaven (pluss dens etterfølgende :
kolon) i brukerens hjemmekatalog, mens den HOMEPATH
inneholder hele banen til brukerens hjemmekatalog i den stasjonen.
Så for å se hjemmestasjonen og banen, kan brukeren skrive dette:
echo %homedrive%%homepath%
I kommandolinjetolker i DOS, OS/2 og Windows skilles det ikke mellom store og små bokstaver for miljøvariabelnavn.
Kommandoen set
(uten argumenter) viser alle miljøvariabler og deres verdier. set
kan også brukes til å skrive ut alle variabler hvis navn begynner med et gitt prefiks ved å gi prefikset som det eneste argumentet til kommandoen.
I Windows PowerShell kan brukeren skrive dette:
echo $env:homedrive$env:homepath
eller ved å bruke PowerShells opprinnelige kommandonavn som tilsvarer echo
:
Write-Output $env:homedrive$env:homepath
I PowerShell skilles det ikke mellom store og små bokstaver for miljøvariabelnavn.
Følgende kommando viser alle miljøvariabler og deres verdier:
get-childitem env:
Oppgave: Unix
Kommandoene env
og set
kan brukes til å angi miljøvariabler og blir ofte innlemmet direkte i skallet.
Følgende kommandoer kan også brukes, men er ofte avhengige av et bestemt skall.
VARIABLE=value # export VARIABLE # for Bourne and related shells
export VARIABLE=value # for ksh, bash, and related shells
setenv VARIABLE value # for csh and related shells
Noen enkle prinsipper styrer hvordan miljøvariabler oppnår sin effekt.
Miljøvariabler er lokale for prosessen de ble angitt i. Hvis to skallprosesser oppstår og verdien av en miljøvariabel endres i den ene, vil den endringen ikke bli sett av den andre.
Når en barneprosess opprettes, arver den alle miljøvariablene og deres verdier fra den overordnede prosessen. Vanligvis, når et program kaller et annet program, oppretter det først en barneprosess ved forgaffel , deretter justerer barnet miljøet etter behov og til slutt erstatter barnet seg selv med programmet som skal kalles. Denne prosedyren gir det oppringende programmet kontroll over miljøet til det oppkalte programmet.
I Unix -skall kan variabler tilordnes uten export
nøkkelordet. Variabler definert på denne måten vises av set
kommandoen, men er ikke sanne miljøvariabler, ettersom de bare lagres av skallet og er ukjente for alle andre prosesser. Den printenv
kommandoen vil ikke vise dem, og barn prosesser ikke arve dem.
VARIABLE=value
Prefiks -syntaksen eksporterer en "sann" miljøvariabel til en underordnet prosess uten å påvirke den nåværende prosessen:
VARIABLE=value program_name [arguments]
Utholdenheten til en miljøvariabel kan være sesjonsomfattende eller systemomfattende.
unset
er et innebygd kommando implementert av både den Bourne skallet familien ( sh
, ksh
, bash
, etc.) og den C-skall- familien (CSH, tcsh, etc.) av Unix kommandolinje skjell . Den opphever en skallvariabel og fjerner den fra minnet og skallets eksporterte miljø. Det er implementert som et skall innebygd , fordi det manipulerer direkte på innsiden av skallet. Skrivebeskyttede skallvariabler kan ikke slås av. Hvis man prøver å oppheve en skrivebeskyttet variabel, vil unset
kommandoen skrive ut en feilmelding og returnere en ikke-null utgangskode.
Oppgave: DOS, OS/2 og Windows
I kommandolinjetolker i DOS, OS/2 og Windows, for eksempel COMMAND.COM
og cmd.exe
, brukes SET
kommandoen til å tildele miljøvariabler og verdier ved å bruke følgende argumenter:
SET VARIABLE=value
Den set
kommandoen uten argumenter viser alle miljøvariabler sammen med sine verdier. I cmd.exe
er det mulig å tildele lokale variabler som ikke lekker ut ved hjelp av SETLOCAL
kommandoen.
I PowerShell følger oppgaven en syntaks som ligner på Unix:
$env:VARIABLE = "VALUE"
Eksempler
Eksempler på miljøvariabler inkluderer:
-
PATH
: en liste over katalogbaner. Når brukeren skriver inn en kommando uten å gi hele banen, kontrolleres denne listen for å se om den inneholder en bane som leder til kommandoen. -
HOME
( Unix-lignende ) ogUSERPROFILE
(Microsoft Windows): angi hvor en brukers hjemmekatalog er plassert i filsystemet . -
HOME/{.AppName}
( Unix-lignende ) ogAPPDATA\{DeveloperName\AppName}
(Microsoft Windows): for lagring av programinnstillinger. Mange programmer bruker feilUSERPROFILE
innstillinger for programinnstillinger i Windows:USERPROFILE
bør bare brukes i dialoger som lar brukeren velge mellom baner somDocuments/Pictures/Downloads/Music
; for programmatiske formål,APPDATA
(for roamingapplikasjonsinnstillinger som deles på flere enheter),LOCALAPPDATA
(for lokale programinnstillinger) ellerPROGRAMDATA
(for programinnstillinger delt mellom flere OS -brukere) bør brukes. -
TERM
( Unix-lignende ): angir hvilken type datamaskinterminal eller terminalemulator som brukes (f.eks.vt100
Ellerdumb
). -
PS1
( Unix-lignende ): angir hvordan ledeteksten skal vises i Bourne-skallet og varianter. -
MAIL
( Unix-lignende ): brukes til å indikere hvor en brukers e-post skal finnes. -
TEMP
: sted der prosesser kan lagre midlertidige filer.
Ekte miljøvariabler
Unix
$PATH
- Inneholder en terskelseparert liste over kataloger som skallet søker etter kommandoer som ikke inneholder en skråstrek i navnet (kommandoer med skråstreker tolkes som filnavn som skal utføres, og skallet prøver å utføre filene direkte). Det tilsvarer variabelen DOS , OS/2 og Windows
%PATH%
.
-
$HOME
- Inneholder plasseringen til brukerens hjemmekatalog . Selv om den nåværende brukerens hjemmekatalog kan også bli funnet ut gjennom C-funksjoner
getpwuid
oggetuid
,$HOME
er ofte brukt for bekvemmelighet i ulike skallskript (og andre sammenhenger). Bruken av miljøvariabelen gir også brukeren muligheten til å peke til en annen katalog.
-
$PWD
- Denne variabelen peker til den nåværende katalogen. Tilsvarer utdataene fra kommandoen pwd når den kalles uten argumenter.
-
$DISPLAY
- Inneholder identifikatoren for displayet som X11 -programmer bør bruke som standard.
-
$LD_LIBRARY_PATH
- På mange Unix-systemer med en dynamisk linker , inneholder en kolon-separert liste over kataloger som den dynamiske linkeren bør søke etter delte objekter når du bygger et prosessbilde etter
exec
, før du søker i andre kataloger.
-
$LIBPATH
eller$SHLIB_PATH
- Alternativer til
$LD_LIBRARY_PATH
vanligvis brukt på eldre Unix -versjoner.
-
$LANG, $LC_ALL, $LC_...
-
$LANG
brukes til å stille til standard locale . For eksempel, hvis lokalverdiene erpt_BR
, er språket satt til (brasiliansk) portugisisk og brasiliansk praksis brukes der det er relevant. Forskjellige aspekter ved lokalisering blir styrt av individuelle$LC_
-variables ($LC_CTYPE
, , etc.). kan brukes til å tvinge frem samme sted for alle aspekter.$LC_COLLATE
$LC_DATE
$LC_ALL
-
$TZ
- Henviser til tidssone . Den kan være i flere formater, enten ved å spesifisere selve tidssonen eller referere til en fil (in
/usr/share/zoneinfo
).
-
$BROWSER
- Inneholder en kolonadskilt liste over en brukers nettleserpreferanser , for bruk av programmer som må tillate brukeren å se innhold på en URL . Nettleserne i listen er ment å bli forsøkt fra første til siste, og stopper etter den første som lykkes. Denne ordningen gir mulighet for tilbakemelding i forskjellige miljøer, f.eks. I et X11- miljø kan en grafisk nettleser (for eksempel Firefox ) brukes, men i et konsollmiljø kan en terminalbasert nettleser (slik som Lynx ) brukes. Et
%s
token kan være tilstede for å angi hvor URL -en skal plasseres. ellers bør nettleseren startes med URL som det første argumentet.
DOS
I henhold til DOS, er hoved miljø er gitt ved den primære kommandoprosessoren, som arver forhånds miljø definert i CONFIG.SYS
da først lagt inn. Størrelsen kan konfigureres gjennom COMMAND /E:n
parameteren mellom 160 og 32767 byte. Nærmiljøsegmenter som er arvet til barneprosesser reduseres vanligvis til størrelsen på innholdet de inneholder. Noen kommandolinjeprosessorer (som 4DOS ) tillater å definere et minimum av ledig miljøplass som vil være tilgjengelig når du starter sekundære skjell. Selv om innholdet i miljøvariabler forblir uendret ved lagring, blir navnene deres (uten " %
") alltid konvertert til store bokstaver, med unntak av pre-miljøvariabler definert via CONFIG.SYS
direktivet SET
under DR DOS 6.0 og høyere (og bare med SWITCHES=/L
(for " tillate små bokstaver ") under DR-DOS 7.02 og høyere). I prinsippet støtter MS-DOS 7.0 og nyere også små variabelnavn ( %windir%
), men brukeren kan ikke definere dem. Miljøvariabelnavn som inneholder små bokstaver lagres i miljøet akkurat som normale miljøvariabler, men forblir usynlige for de fleste DOS -programvare, siden de er skrevet for å bare forvente store variabler. Noen kommandoprosessorer begrenser maksimal lengde på et variabelnavn til 80 tegn. Selv om det hovedsakelig bare er begrenset av størrelsen på miljøsegmentet , forventer noen DOS- og 16-biters Windows-programmer ikke at innholdet i miljøvariabler skal overstige 128 tegn. DR-DOS COMMAND.COM
støtter miljøvariabler på opptil 255, 4DOS til og med opptil 512 tegn. Siden COMMAND.COM
kan konfigureres (via /L:128..1024
) til å støtte kommandolinjer på opptil 1024 tegn internt under MS-DOS 7.0 og høyere, bør det forventes at miljøvariabler også inneholder minst 1024 tegn. I noen versjoner av DR-DOS kan miljøet som overføres til drivere, som ofte ikke trenger sitt miljø etter installasjon, krympes eller flyttes gjennom SETENV
eller INSTALL[HIGH]
/ LOADHIGH
alternativer /Z
(nullmiljø), (erstatningsstasjon, f.eks. ) Og (flytt miljø over program ) for å minimere sjåførens effektivt resulterende minnefotavtrykk.
/D[:loaddrive]
B:TSR.COM
/E
I batchmodus erstattes ikke-eksisterende miljøvariabler med en streng med null lengde.
Standard miljøvariabler eller reserverte miljøvariabler inkluderer:
-
%APPEND%
(støttet siden DOS 3.3) - Denne variabelen inneholder en semikolonavgrenset liste over kataloger der du kan søke etter filer. Det endres vanligvis via
APPEND /E
kommandoen, som også sikrer at katalognavn blir konvertert til store bokstaver. Noen DOS -programvare forventer faktisk at navnene skal lagres i store bokstaver og at lengden på listen ikke skal overstige 121 tegn, derfor blir variabelen best ikke endret viaSET
kommandoen. Lange filnavn som inneholder mellomrom eller andre spesialtegn, må ikke siteres ("
).
-
%CONFIG%
(støttes siden MS-DOS 6.0 og PC DOS 6.1 , også støttet av ROM-DOS ) - Denne variabelen har det symbolske navnet på den nåværende valgte oppstartskonfigurasjonen. Det er satt opp av DOS BIOS (
IO.SYS
,IBMBIO.COM
etc.) for å navnet defineres av det tilsvarendeCONFIG.SYS
direktivMENUITEM
før utsetting primærkommandoprosessoren. Hovedformålet er å tillate ytterligere spesialtilfeller iAUTOEXEC.BAT
og lignende batchjobs avhengig av det valgte alternativet ved oppstartstid. Dette kan etterlignes under DR-DOS ved å brukeCONFIG.SYS
direktivetSET
somSET CONFIG=1
.
-
%CMDLINE%
(introdusert med 4DOS , også støttet siden MS-DOS 7.0 ) - Denne variabelen inneholder den fullstendig utvidede teksten til kommandolinjen som kjøres for øyeblikket. Det kan leses av applikasjoner for å oppdage bruk av og hente lange kommandolinjer, siden den tradisjonelle metoden for å hente kommandolinjeargumentene gjennom PSP (eller relaterte API -funksjoner) er begrenset til 126 tegn og er ikke lenger tilgjengelig når FCB blir utvidet eller standard DTA brukes. Selv om 4DOS støtter lengre kommandolinjer,
COMMAND.COM
støtter det bare maksimalt 126 tegn ved ledeteksten som standard (med mindre det overstyres med for/U:128..255
å angi størrelsen på kommandolinjebufferen), men interne kommandolinjer kan likevel bli lengre gjennom utvidelse av fe -variabel (avhengig av/L:128..1024
for å spesifisere størrelsen på den interne bufferen). I tillegg til kommandolinjelengden i PSP, er PSP-kommandolinjen normalt begrenset av ASCII-13 , og kommandolinjer som er lengre enn 126 tegn vil vanligvis bli avkortet ved å ha en ASCII-13 satt inn i posisjon 127, men dette kan ikke stole på i alle scenarier. Variabelen vil bli undertrykt for eksterne kommandoer som påkalles med et tidligere@
symbol som@XCOPY ...
for bakoverkompatibilitet og for å minimere størrelsen på miljøet ved lasting av ikke -flyttende TSR . Noen betaversjoner av Windows Chicago pleide bare%CMDLINE%
å lagre resten av kommandolinjen som overstiger 126 tegn i stedet for hele kommandolinjen.
-
%COMSPEC%
(støttes siden DOS 2.0) - Denne variabelen inneholder hele 8,3 banen til kommandoprosessoren , vanligvis eller . Det må ikke inneholde lange filnavn , men under DR-DOS kan det inneholde fil- og katalogpassord. Den er satt opp av den primære kommandoprosessoren for å peke på seg selv (gjenspeiler vanligvis innstillingene i direktivet ), slik at den residente delen av kommandoprosessoren kan laste den forbigående delen fra disken etter kjøring av større programmer. Verdien kan endres under kjøretid for å gjenspeile endringer i konfigurasjonen, noe som vil kreve at kommandoprosessoren laster seg på nytt fra andre steder. Variabelen brukes også ved lansering av sekundære skjell.
C:\COMMAND.COM
C:\DOS\COMMAND.COM
CONFIG.SYS
SHELL
-
%COPYCMD%
(støttes siden MS-DOS 6.2 og PC DOS 6.3 , også støttet av ROM-DOS ) - Lar brukeren å spesifisere
/Y
bryteren (å anta "Ja" på spørsmål) som standard for deCOPY
,XCOPY
ogMOVE
kommandoer. En standard på/Y
kan overstyres ved å levere/-Y
bryteren på kommandolinjen. Den/Y
bryter instruerer kommando for å erstatte eksisterende filer uten å spørre om bekreftelse.
-
%DIRCMD%
(støttes siden MS-DOS 5.0 og PC DOS 5.0 , også støttet av ROM-DOS ) - Lar en bruker angi tilpassede standardparametere for
DIR
kommandoen, inkludert filspesifikasjoner. Forhåndsinnstilte standardbrytere kan overstyres ved å angi den negative bryteren på kommandolinjen. Hvis den for eksempel%DIRCMD%
inneholder/W
bryteren, kan den overstyres ved å brukeDIR /-W
den på kommandolinjen. Dette ligner på miljøvariabelen%$DIR%
under DOS Plus og en mulighet for å definere standardbrytere forDIR
gjennom dens/C
eller/R
brytere under DR-DOSCOMMAND.COM
.%DIRCMD%
støttes også av de eksterneSDIR.COM
/DIR.COM
Stacker -kommandoene under Novell DOS 7 og nyere.
-
%LANG%
(støttet siden MS-DOS 7.0 ) - Denne variabelen støttes av noen verktøy for å bytte sted for meldinger i flerspråklige problemer.
-
%LANGSPEC%
(støttet siden MS-DOS 7.0 ) - Denne variabelen støttes av noen verktøy for å bytte sted for meldinger i flerspråklige problemer.
-
%NO_SEP%
(støttes siden PC DOS 6.3 og DR-DOS 7.07 ) - Denne variabelen styrer visningen av tusenvis-separatorer i meldinger med forskjellige kommandoer. Utstedt som standard, kan de undertrykkes ved å spesifisere
SET NO_SEP=ON
ellerSET NO_SEP=1
under PC DOS. DR-DOS tillater i tillegg å overstyre systemets tusenvis-separator som vises som i feSET NO_SEP=.
.
-
%PATH%
(støttes siden DOS 2.0) - Denne variabelen inneholder en semikolonavgrenset liste over kataloger der kommandotolken vil søke etter kjørbare filer . Tilsvarer Unix-
$PATH
variabelen (men noen DOS- og Windows-applikasjoner bruker også listen til å søke etter datafiler som ligner$LD_LIBRARY_PATH
på Unix-lignende systemer). Det endres vanligvis via kommandoenPATH
(ellerPATH /E
under MS-DOS 6.0 ), som også sikrer at katalognavn blir konvertert til store bokstaver. Noen DOS -programvarer forventer faktisk at navnene skal lagres i store bokstaver og at lengden på listen ikke skal overstige 123 tegn, derfor bør variabelen bedre ikke endres viaSET
kommandoen. Lange filnavn som inneholder mellomrom eller andre spesialtegn, må ikke siteres ("
). Som standard blir den nåværende katalogen søkt først, men noen kommandolinjeprosessorer som 4DOS gjør at ".
" (for "nåværende katalog") også kan inkluderes i listen for å overstyre denne søkeordren ; noen DOS -programmer er inkompatible med denne utvidelsen.
-
%PROMPT%
(støttes siden DOS 2.0) - Denne variabelen inneholder en
$
-tokenisert streng som definerer visningen av ledeteksten . Det endres vanligvis viaPROMPT
kommandoen.
-
%TEMP%
(og%TMP%
) - Disse variablene inneholder banen til katalogen der midlertidige filer skal lagres. Operativsystemverktøy bruker vanligvis bare
%TEMP%
, mens tredjeparts programmer også bruker%TMP%
.%TEMP%
Tar vanligvis forrang fremfor%TMP%
.
Den DR-DOS familien støtter en rekke ekstra standard miljøvariabler inkludert:
-
%BETA%
- Denne variabelen inneholder en valgfri melding som vises av noen versjoner (inkludert DR DOS 3.41 ) av
COMMAND.COM
ved oppstart av sekundære skall.
-
%DRDOSCFG%
/%NWDOSCFG%
/ /%OPENDOSCFG%
- Denne variabelen inneholder katalogen (uten etterfølgende "
\
") hvor du skal søke etter.INI
og.CFG
konfigurasjonsfiler (som er DR-DOS program bestemte filer likerTASKMGR.INI
,TASKMAX.INI
,VIEWMAX.INI
,FASTBACK.CFG
etc., klasse bestemte filer somCOLORS.INI
, eller globale filer somDRDOS.INI
,NWDOS.INI
,OPENDOS.INI
, ellerDOS.INI
) som brukes avINSTALL
ogSETUP
kommandoer og forskjellige DR-DOS programmer somDISKOPT
,DOSBOOK
,EDIT
,FBX
,FILELINK
,LOCK
,SECURITY.OVL
/NWLOGIN.EXE
,SERNO
,TASKMAX
,TASKMGR
,VIEWMAX
, ellerUNDELETE
. Den må ikke inneholde lange filnavn .
-
%DRCOMSPEC%
- Denne variabelen har eventuelt en alternativ bane til kommandoprosessoren som går foran banen som er definert i
%COMSPEC%
variabelen, og eventuelt inkluderer fil- og katalogpassord. Alternativt kan den ha en spesiell verdi på "ON
" eller "1
" for å håndheve bruken av%COMSPEC%
variabelen selv i scenarier der%COMSPEC%
variabelen kan peke på feil kommandolinjeprosessor, for eksempel når du kjører noen versjoner av DR- DOSSYS
-kommando under et utenlandsk operativsystem.
-
%DRSYS%
- Hvis du setter denne variabelen til "
ON
" eller "1
", vil noen versjoner av DR-DOS-SYS
kommandoen tvinge til å fungere under utenlandske operativsystemer i stedet for å vise en advarsel.
-
%FBP_USER%
- Spesifiserer brukernavnet som brukes av FastBack -kommandoen
FBX
og konfigurasjonsfilene under Novell DOS 7 .{user}.FB
-
%HOMEDIR%
- Denne variabelen kan inneholde hjemmekatalogen under DR-DOS (inkludert DR DOS 5.0 og 6.0 ).
-
%INFO%
- I noen versjoner av DR-DOS
COMMAND.COM
denne variabelen definerer strengen vises av$I
tegnet på denPROMPT
kommando. Den kan for eksempel brukes til å informere brukeren om hvordan man går ut av sekundære skall.
-
%LOGINNAME%
- I noen versjoner av DR-DOS
COMMAND.COM
denne variabelen definerer brukernavnet vises av$U
token avPROMPT
kommandoen, som settes opp av fe påloggingsskript for Novell NetWare . Se også pseudo-variabelen på samme måte%LOGIN_NAME%
.
-
%MDOS_EXEC%
- Denne variabelen kan ta verdiene "
ON
" eller "OFF
" under Multiuser DOS . Hvis det er aktivert, tillater operativsystemet at applikasjoner skal ut til sekundære skall med DOS -programområdet (DPA) frigjort for å ha maksimalt DOS -minne tilgjengelig for sekundære applikasjoner i stedet for å kjøre dem i samme domene som under DOS.
-
%NOCHAR%
- Denne variabelen kan brukes til å definere tegnet som vises av noen kommandoer i meldinger for "Nei" i
[Y,N]
spørringer, og derved overstyre gjeldende systemstandard (vanligvis "N
" i engelske versjoner av DR-DOS). Hvis den inneholder en streng, blir bare det første tegnet, med store bokstaver, tatt. Noen kommandoer støtter også en kommandolinjeparameter/Y
for automatisk å anta "Ja" på spørsmål, og dermed undertrykke slike meldinger. Hvis parameteren/Y:yn
imidlertid brukes til å spesifisere "Ja"/"Nei" -tegnene (og dermed overstyre enhver%NOCHAR%
innstilling), blir ikke spørringene undertrykt. Se også det relaterteCONFIG.SYS
direktivetNOCHAR
og miljøvariabelen%YESCHAR%
.
-
%NOSOUND%
- Hvis du setter denne variabelen til "
ON
" eller "1
", deaktiveres standard pip fra enkelte DR-DOS-kommandoer i visse situasjoner, for eksempel for å informere brukeren om at en operasjon er fullført, at brukerinteraksjon er nødvendig eller når en feil tast ble trykket på. Kommandolinjealternativer for å spesifikt aktivere visse pip vil overstyre denne innstillingen.
-
%OS%
- Denne variabelen inneholder navnet på operativsystemet for å skille mellom forskjellige DOS -relaterte operativsystemer for Digital Research -opprinnelse i batchjobber og applikasjoner. Kjente verdier inkluderer "
DOSPLUS
" ( DOS Plus 1.2 i DOS -emulering), "CPCDOS 4.1
" (DOS Plus 1.2 i CP/M -emulering), "DRDOS
" ( DR DOS 3.31 - 6.0 , DR DOS Panther , DR DOS StarTrek , DR -DOS 7.02 - 7.05 ), "EZDOS
" ( EZ-DOS 3.41 ), "PALMDOS
" og "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
" ( Concurrent DOS , Concurrent DOS XM ), "CPCDOS
" ( Concurrent PC DOS ), "CDOS386
" ( Concurrent DOS 386 ), "DRMDOS
" ( DR Multiuser DOS ), "MDOS
" ( CCI Multiuser DOS ), "IMSMDOS
" ( IMS Multiuser DOS ), "REAL32
" ( REAL/32 ). MS-DOSINTERSVR
ser også etter verdien "DRDOS
". Se også den identisk navngitte miljøvariabelen som%OS%
senere ble introdusert i Windows NT -familien .
-
%PEXEC%
- I noen versjoner av DR-DOS denne variabelen definerer kommandoen utført av
$X
token avPROMPT
kommandoen førCOMMAND.COM
viser rask etter retur fra eksternt program utførelse.
-
%SWITCHAR%
- Denne variabelen definerer SwitChar som skal brukes til argumentanalyse av noen DR-DOS-kommandoer. Hvis den er definert, overstyrer den systemets nåværende SwitChar -innstilling. De eneste aksepterte tegnene er "
/
" (DOS -stil), "-
" (Unix -stil) og "[
" (CP/M -stil). Se også det relaterteCONFIG.SYS
direktivetSWITCHAR
(for å angi systemets SwitChar-innstilling) og%/%
systeminformasjonsvariabelen i noen utgaver av DR-DOSCOMMAND.COM
(for å hente gjeldende innstilling for bærbare batchjobs).
-
%TASKMGRWINDIR%
- Denne variabelen angir katalogen, der Windows
SYSTEM.INI
som skal brukes av DR-DOS-TASKMGR
multitaskeren, overstyrer standardprosedyren for å finne filen.
-
%VER%
- Denne variabelen inneholder versjonen av operativsystemet for å skille mellom forskjellige versjoner av DR-DOS i batchjobber og i visningen av
VER
kommandoen. Den brukes også for kommandoens$V
symbolPROMPT
og påvirker verdien som returneres av systeminformasjonsvariabelen%OS_VERSION%
. Kjente verdier inkluderer "1.0
" ( PalmDOS 1.0 ), "1.2
" ( DOS Plus 1.2 i DOS -emulering), "2.0
" ( Samtidig DOS 386 2.0 ), "3.0
" ( Samtidig 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
" ( Concurrent 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 Concurrent DOS XM 6.0 , DR-DOS 6.0 ), "6.2
" ( DR Concurrent DOS XM 6,2 ), "7
" ( Novell DOS 7 , Caldera OpenDOS 7,01 , DR-DOS 7,02 - 7,05 ), "7.00
" ( CCI flerbruker DOS 7,00 ), "7.07
" ( DR-DOS 7.07 ), "7.1
" ( IMS Multiuser DOS 7.1 ), "7.21
" ( CCI Multiuser DOS 7.21 ), "7.22
" ( CCI Multiuser DOS 7.22 ) etc.
-
%YESCHAR%
- Denne variabelen kan brukes til å definere tegnet som vises av noen kommandoer i meldinger for "Ja" i
[Y,N]
spørringer, og derved overstyre gjeldende systemstandard (vanligvis "Y
" i engelske versjoner av DR-DOS). Hvis den inneholder en streng, blir bare det første tegnet, med store bokstaver, tatt. Noen kommandoer støtter også en kommandolinjeparameter/Y
for automatisk å anta "Ja" på spørsmål, og dermed undertrykke slike meldinger. Hvis parameteren/Y:y
imidlertid brukes til å spesifisere "Ja" -tegnet (og dermed overstyre enhver%YESCHAR%
innstilling), blir ikke spørringer undertrykt. Se også det relaterteCONFIG.SYS
direktivetYESCHAR
og miljøvariabelen%NOCHAR%
.
-
%$CLS%
- Denne variabelen definerer kontrollsekvensen som skal sendes til konsolldriveren for å slette skjermen når
CLS
kommandoen utstedes, og overstyrer derved den interne standard ("←[2J
" under DR-DOS ",←E
" under DOS Plus 1.2 på Amstrad-maskiner så vel som under Samtidig DOS , Multiuser DOS og REAL/32 for VT52 -terminaler, eller "←+
" under Multiuser DOS for ASCII -terminaler). Hvis variabelen ikke er definert og ingenANSI.SYS
konsolldriver er oppdaget, vil DR-DOSCOMMAND.COM
slette skjermen direkte viaINT 10h/AH=00h
BIOS- funksjonen, slik MS-DOS/PC DOSCOMMAND.COM
gjør. En spesiell\nnn
-notasjon for oktale tall støttes for å tillate definisjonen av spesialtegn som ESC ( ASCII -27 = "←" = 1Bh = 33o), som fe inSET $CLS=\033[2J
. For å sende backslash ("\
") selv, kan den dobles "\\
".
-
%$DIR%
- Støttet av DOS Plus som godtar verdiene "L" (lang) eller "W" (bred) for å endre standardoppsettet for katalogoppføringer med DIR . Kan overstyres ved hjelp av kommandolinjealternativene
/L
eller/W
. Se også den tilsvarende miljøvariabelen%DIRCMD%
ogDIR
alternativene/C
og/R
DR-DOS COMMAND.COM.
-
%$PAGE%
- Støttet av DOS Plus som godtar verdiene "
ON
" eller "OFF
" for pagineringskontroll. Å sette dette til "ON
" har samme effekt som å legge/P
til kommandoer som støtter det (som DIR eller TYPE ).
-
%$LENGTH%
- Brukes av DOS Plus til å definere skjermlengden på konsollen i linjer. Dette brukes til å styre på en bærbar måte når skjermutgangen midlertidig skal stoppes inntil en tast trykkes sammen med
/P
alternativet som støttes av forskjellige kommandoer eller med automatisk pagnering. Se også de relaterte miljøvariablene%$WIDTH%
og%DIRSIZE%
den lignende pseudovariabelen%_ROWS%
.
-
%$WIDTH%
- Brukes av DOS Plus til å definere skjermbredden på konsollen i kolonner. Dette brukes til å styre på en bærbar måte formateringen av skjermutgangen på kommandoer som
DIR /W
ellerTYPE filename
. Se også de relaterte miljøvariablene%$LENGTH%
og%DIRSIZE%
den lignende pseudovariabelen%_COLUMNS%
.
-
%$SLICE%
- Brukes av DOS Plus som godtar en numerisk verdi for å kontrollere forgrunns-/bakgrunnstidssnittet for fleroppgaveprogrammer. Se også DOS Plus -kommandoen
SLICE
.
-
%$ON%
- Denne variabelen kan inneholde en valgfri kontrollsekvens for å slå på tekstmarkering, reversering eller fargelegging. Den brukes til å understreke eller på annen måte kontrollere visningen av filnavnene i kommandoer som
TYPE wildcard
for eksempelSET $ON=\033[1m
med ANSI.SYS lastet ellerSET $ON=\016
for en IBM- eller ESC/P -skriver. For den spesielle\nnn
oktale notasjonen som støttes, se%$CLS%
. Selv om variabelen ikke er definert som standard under DOS Plus og DR-DOS, er DOC- standarden for flere brukere lik for en ASCII- terminalSET $ON=\033p
. Se også den relaterte miljøvariabelen%$OFF%
.
-
%$OFF%
- Denne variabelen kan inneholde en valgfri kontrollsekvens for å slå av tekstmarkering, reversering eller fargelegging. Den brukes til å gå tilbake til normal utgang etter visning av filnavn i kommandoer som
TYPE wildcard
for eksempelSET $OFF=\033[0m
med ANSI.SYS lastet ellerSET $OFF=\024
for en IBM- eller ESC/P -skriver. For den spesielle\nnn
oktale notasjonen som støttes, se%$CLS%
. Selv om variabelen ikke er definert som standard under DOS Plus og DR-DOS, er DOC- standarden for flere brukere lik for en ASCII- terminalSET $OFF=\033q
. Se også den relaterte miljøvariabelen%$ON%
.
-
%$HEADER%
- Denne variabelen kan inneholde en valgfri kontrollsekvens utstedt før utdata av filinnholdet i kommandoer som
TYPE
under DR-DOS 7.02 og høyere. Den kan brukes til utheving, paginering eller formatering, fe når du sender utskriften til en skriver, dvs.SET $HEADER=\017
for en IBM- eller ESC/P -skriver. For den spesielle\nnn
oktale notasjonen som støttes, se%$CLS%
. Se også den relaterte miljøvariabelen%$FOOTER%
.
-
%$FOOTER%
- Denne variabelen kan inneholde en valgfri kontrollsekvens utstedt etter utdata av filinnholdet i kommandoer som
TYPE
under DR-DOS 7.02 og høyere. Den brukes til å gå tilbake til det normale utdataformatet, dvs.SET $FOOTER=\022\014
i skrivereksemplet ovenfor. For den spesielle\nnn
oktale notasjonen som støttes, se%$CLS%
. Se også den relaterte miljøvariabelen%$HEADER%
.
Datalight ROM-DOS støtter også en rekke ekstra standard miljøvariabler , inkludert:
-
%DIRSIZE%
- Denne variabelen brukes til å definere ikke-standardiserte skjermstørrelser
rows[,cols]
forDIR
alternativer/P
og/W
(lignende%$LENGTH%
og%$WIDTH%
under DOS Plus).
-
%NEWFILE%
- Denne variabelen settes automatisk til den første parameteren som er gitt til CONFIG.SYS -direktivet NEWFILE .
%TZ%
, %COMM%
, %SOCKETS%
, %HTTP_DIR%
, %HOSTNAME%
Og %FTPDIR%
er også brukt av ROM-DOS.
OS/2
-
%BEGINLIBPATH%
- Inneholder en semikolonseparert liste over kataloger som søkes etter DLL-filer før katalogene gitt av
%LIBPATH%
variabelen (som angis under systemoppstart med det spesielle CONFIG.SYS- direktivetLIBPATH
). Det er mulig å spesifisere relative kataloger her, inkludert ".
" for den nåværende arbeidskatalogen. Se også den relaterte miljøvariabelen%ENDLIBPATH%
.
-
%ENDLIBPATH%
- en liste over kataloger som skal søkes etter DLLer som
%BEGINLIBPATH%
, men søkte etter listen over kataloger i%LIBPATH%
.
Windows
Systembanevariabler refererer til steder for kritiske operativsystemressurser, og er som sådan generelt ikke brukeravhengige.
-
%APPDATA%
- Inneholder hele banen til applikasjonsdatakatalogen til den påloggede brukeren. Fungerer ikke på Windows NT 4.0 SP6 UK.
-
%LOCALAPPDATA%
- Denne variabelen er de midlertidige filene til applikasjoner . Bruksområdene inkluderer lagring av skrivebordstemaer , Windows -feilrapportering , hurtigbufring og profiler av nettlesere.
-
%ComSpec%
/%COMSPEC%
- Den
%ComSpec%
variable inneholder hele banen i kommandoprosessoren; på Windows NT familien av operativsystemer, er dette cmd.exe , mens Windows 9x ,%COMSPEC%
er COMMAND.COM .
-
%OS%
- Den
%OS%
variable inneholder et symbolsk navn på operativsystemet familien for å skille mellom ulike funksjonssettene i batchjobs . Den ligner en identisk navngitt miljøvariabel som%OS%
finnes i alle DOS -relaterte operativsystemer for Digital Research -opprinnelse som Concurrent DOS, Multiuser DOS , REAL/32, DOS Plus , DR DOS , Novell DOS og OpenDOS.%OS%
holder alltid strengen "Windows_NT
" på Windows NT -familien .
-
%PATH%
- Denne variabelen inneholder en semikolon-avgrenset (ikke legg mellomrom mellom) liste over kataloger der kommandotolken vil søke etter en kjørbar fil som samsvarer med den gitte kommandoen. Miljøvariabler som representerer stier kan være nestet i
%PATH%
variabelen, men bare på ett nivå av indireksjon. Hvis denne miljøvariabelen i underbanen i seg selv inneholder en miljøvariabel som representerer en bane,%PATH%
vil den ikke ekspandere riktig i variabelen substitusjon. Tilsvarer Unix$PATH
-variabelen.
-
%ProgramFiles%
,%ProgramFiles(x86)%
,%ProgramW6432%
- De
%ProgramFiles%
variable peker til Program Files katalogen, som lagrer alle installerte programmer i Windows og andre. Standard på engelskspråklige systemer er "C:\Program Files
". I 64-biters versjoner av Windows (XP, 2003, Vista) finnes det også%ProgramFiles(x86)%
standardinnstillinger for "C:\Program Files (x86)
" og%ProgramW6432%
som "C:\Program Files
" som standard . Selve%ProgramFiles%
avhenger av om prosessen som ber om miljøvariabelen selv er 32-bit eller 64-bit (dette er forårsaket av Windows-på-Windows 64-biters omdirigering).
-
%CommonProgramFiles%
- Denne variabelen peker til Common Files -katalogen. Standard er "
C:\Program Files\Common Files
" i den engelske versjonen av Windows.
-
%SystemDrive%
- Den
%SystemDrive%
variable er et spesielt system-wide miljøvariabelen funnet på Windows NT og dets derivater. Verdien er stasjonen som systemkatalogen ble plassert på. Verdien av%SystemDrive%
er i de fleste tilfeller "C:
".
-
%SystemRoot%
- Den
%SystemRoot%
variable er et spesielt system-wide miljøvariabelen funnet på Windows NT familien av operativsystemer. Verdien er plasseringen av systemkatalogen, inkludert stasjonen og banen. Stasjonen er den samme som%SystemDrive%
og standardbanen for en ren installasjon avhenger av versjonen av operativsystemet. Som standard:-
Windows XP og nyere versjoner bruker "
\WINDOWS
". -
Windows 2000 , NT 4.0 og NT 3.1 bruker "
\WINNT
". -
Windows NT 3.5 og NT 3.51 bruker "
\WINNT35
". -
Windows NT 4.0 Terminal Server bruker "
\WTSRV
".
-
Windows XP og nyere versjoner bruker "
-
%windir%
- Denne variabelen peker til Windows -katalogen. (På Windows NT -familien av operativsystemer er den identisk med
%SystemRoot%
variabelen). Windows 95 - 98 og Windows ME er som standard installert i "C:\Windows
". For andre versjoner av Windows, se%SystemRoot%
oppføringen ovenfor.
Brukeradministrasjonsvariabler lagrer informasjon relatert til ressurser og innstillinger som eies av forskjellige brukerprofiler i systemet. Som en hovedregel refererer disse variablene ikke til kritiske systemressurser eller steder som er nødvendige for at operativsystemet skal kjøre.
-
%ALLUSERSPROFILE%
(%PROGRAMDATA%
siden Windows Vista) - Denne variabelen utvides til hele banen til profilkatalogen Alle brukere . Denne profilen inneholder ressurser og innstillinger som brukes av alle systemkontoer. Snarvei koblinger kopiert til alle brukere \' Start-menyen eller Desktop kataloger vil dukke opp i hver brukers Start-menyen eller skrivebordet , henholdsvis.
-
%USERDOMAIN%
- Navnet på arbeidsgruppen eller Windows -domenet som den nåværende brukeren tilhører. Den relaterte variabelen
%LOGONSERVER%
,, inneholder vertsnavnet til serveren som godkjente den nåværende brukerens påloggingsinformasjon (navn og passord). For hjemme -PCer og PC -er i en arbeidsgruppe er autentiseringsserveren vanligvis selve PC -en. For PC-er i et Windows-domene, er autentiseringsserveren en domenekontroller (en primær domenekontroller, eller PDC, i Windows NT 4-baserte domener).
-
%USERPROFILE%
- En spesiell systemomfattende miljøvariabel som finnes på Windows NT og dets derivater. Verdien er plasseringen av den nåværende brukerens profilkatalog, der brukerens HKCU -register (
NTUSER
) finnes. Brukere kan også bruke%USERNAME%
variabelen til å bestemme den aktive brukerens påloggingsidentifikasjon.
Valgfrie systemvariabler er ikke eksplisitt spesifisert som standard, men kan brukes til å endre standardatferd for visse innebygde konsollkommandoer. Disse variablene trenger heller ikke spesifiseres spesifikt som kommandolinjeargumenter.
Standardverdier
Tabellene nedenfor viser typiske standardverdier for visse miljøvariabler under engelske versjoner av Windows som de kan hentes under CMD
.
(Noen av disse variablene er også definert når de kjøres COMMAND.COM
under Windows, men er forskjellige med visse viktige detaljer: Under COMMAND.COM
er navnene på miljøvariabler alltid store. Noen, men ikke alle variabler inneholder korte 8,3 snarere enn lange filnavn . Mens noen variabler er tilstede i CMD
miljøet mangler, er det også noen variabler som er spesifikke for COMMAND
miljøet.)
Variabel | Lokal spesifikk | Windows XP (CMD) | Windows Vista og nyere (CMD) |
---|---|---|---|
%ALLUSERSPROFIL% | Ja | C: \ Documents and Settings \ Alle brukere | C: \ ProgramData |
%APPDATA% | Ja | C: \ Dokumenter og innstillinger \ {brukernavn} \ Programdata | C: \ Users \ {brukernavn} \ AppData \ Roaming |
%CommonProgramFiles% | Ja | C: \ Program Files \ Common Files | C: \ Program Files \ Common Files |
%CommonProgramFiles (x86)% | Ja | C: \ Program Files (x86) \ Common Files (bare i 64-biters versjon) | C: \ Program Files (x86) \ Common Files (bare i 64-biters versjon) |
%FellesprogramW6432% | Ja | % CommonProgramW6432% (støttes ikke, erstattes ikke av noen verdi) | C: \ Program Files \ Common Files (bare i 64-biters versjon) |
%COMPUTERNAME% | Nei | {computername} | {computername} |
%ComSpec% | Nei | C: \ Windows \ System32 \ cmd.exe | C: \ Windows \ System32 \ cmd.exe |
%HOMEDRIVE% | Nei | C: | C: |
%HOMEPATH% | Ja | \ Dokumenter og innstillinger \ {brukernavn} | \ Brukere \ {brukernavn} |
%LOCALAPPDATA% | Ja | % LOCALAPPDATA% (støttes ikke, erstattes ikke av noen verdi) | C: \ Users \ {brukernavn} \ AppData \ Local |
%LOGONSERVER% | Nei | \\ {domain_logon_server} | \\ {domain_logon_server} |
%STI% | Ja | C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; {pluss programbaner} | C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; {pluss programbaner} |
%PATHEXT% | Nei | .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .WSF; .WSH | .com; .exe; .bat; .cmd; .vbs; .vbe; .js; .jse; .wsf; .wsh; .msc |
%ProgramData% | Ja | % ProgramData% (støttes ikke, erstattes ikke av noen verdi) | % SystemDrive% \ ProgramData |
%Programfiler% | Ja | % SystemDrive% \ Program Files | % SystemDrive% \ Program Files |
%ProgramFiles (x86)% | Ja | % SystemDrive% \ Program Files (x86) (bare i 64-biters versjon) | % SystemDrive% \ Program Files (x86) (bare i 64-biters versjon) |
%ProgramW6432% | Ja | % ProgramW6432% (støttes ikke, erstattes ikke av noen verdi) | % SystemDrive% \ Program Files (bare i 64-biters versjon) |
%PROMPT% | Nei | Kode for gjeldende ledetekstformat, vanligvis $ P $ G | Kode for gjeldende ledetekstformat, vanligvis $ P $ G |
%PSModulePath% | % PSModulePath% (støttes ikke, erstattes ikke av noen verdi) | % SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ Modules \ | |
%OFFENTLIG% | Ja | % PUBLIC% (støttes ikke, erstattes ikke av noen verdi) | % SystemDrive% \ Users \ Public |
%SystemDrive% | Nei | C: | C: |
%SystemRoot% | Nei | Windows -katalogen, vanligvis C: \ Windows, tidligere C: \ WINNT | % SystemDrive% \ Windows |
%TEMP% og %TMP% | Ja | % SystemDrive% \ Documents and Settings \ {brukernavn} \ Lokale innstillinger \ Temp | % SystemRoot% \ TEMP (for systemmiljøvariabler % TMP% og % TEMP% ), % USERPROFILE% \ AppData \ Local \ Temp (for brukermiljøvariabler % TMP% og % TEMP% ) |
%USERDOMAIN% | Nei | {userdomain} | {userdomain} |
%USERNAME% | Nei | {brukernavn} | {brukernavn} |
%BRUKERPROFIL% | Ja | % SystemDrive% \ Documents and Settings \ {brukernavn} | % SystemDrive% \ Users \ {brukernavn} |
%windir% | Nei | % SystemDrive% \ WINDOWS | % SystemDrive% \ Windows |
I denne listen er det ingen miljøvariabel som refererer til plasseringen av brukerens Mine dokumenter -katalog, så det er ingen standard metode for å sette et programs hjemmekatalog til å være Mine dokumenter -katalogen.
Pseudomiljøvariabler
Kommandoprosessorene i DOS og Windows støtter også pseudomiljøvariabler. Dette er verdier som hentes som miljøvariabler, men som ikke virkelig lagres i miljøet, men beregnes når det blir forespurt.
DOS
I tillegg til sanne miljøvariabler, som er statisk lagret i miljøet til de endres eller slettes, finnes det en rekke pseudomiljøvariabler for batchbehandling.
De såkalte erstatningsparametrene eller utskiftbare parametrene (Microsoft / IBM-terminologi) aka erstatningsvariabler (Digital Research / Novell / Caldera-terminologi) eller batchfilparametere (JP Software-terminologi) %1
.. %9
og %0
kan brukes til å hente kalleparametrene til et batchjob , se SHIFT
. I batchjobs kan de hentes akkurat som miljøvariabler, men lagres faktisk ikke i miljøet.
Noen kommandolinjeprosessorer (som DR-DOS COMMAND.COM
, Multiuser DOS MDOS.COM
/ TMP.EXE
(Terminal Message Process), JP Software 4DOS , 4OS2 , 4NT , Take Command og Windows cmd.exe ) støtter en type pseudomiljøvariabler som heter systeminformasjonsvariabler (Novell / Caldera-terminologi) eller interne variabler (JP Software-terminologi), som kan brukes til å hente ut mulig mulig dynamisk, men skrivebeskyttet informasjon om det kjørende systemet i batchjobber. De returnerte verdiene representerer systemets status i det øyeblikket disse variablene blir spurt; det vil si å lese dem flere ganger på rad kan returnere forskjellige verdier selv innenfor samme kommando; å spørre dem har ingen direkte effekt på systemet. Siden de ikke er lagret i miljøet, er de ikke oppført av SET og finnes ikke for eksterne programmer å hente. Hvis en ekte miljøvariabel med samme navn er definert, går den foran den tilsvarende variabelen til miljøvariabelen slettes igjen. De er ikke store og små bokstaver. Selv om nesten alle slike variabler er prefiks med en understreking (" _
") av 4DOS etc. etter konvensjon (fe %_SECOND%
), er de ikke under DR-DOS COMMAND.COM
(fe %OS_VERSION%
).
I tillegg støtter 4DOS, 4OS2, 4NT og Take Command også såkalte variable funksjoner , inkludert brukerdefinerbare. De fungerer akkurat som interne variabler , men kan ta valgfrie parametere (fe %@EVAL[]%
) og kan til og med endre systemstatus avhengig av funksjonen.
Systeminformasjonsvariabler som støttes av DR-DOS COMMAND.COM
:
-
%AM_PM%
- Denne pseudo-variabelen returnerer statusen for gjeldende tid før eller etter middag. Den returnerte strengen avhenger av den lokale spesifikke versjonen av DR-DOS, fe "
am
" eller "pm
" i den engelske versjonen. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%DAY%
- Denne pseudo-variabelen returnerer dagene for gjeldende dato i et 2-sifret format med ledende nuller, fe "
01
" .. "31
". Se også den lignende pseudo-variabelen%_DAY%
. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%DAY_OF_WEEK%
- Denne pseudo-variabelen returnerer ukens dagnavn i et 3-tegners format. Den returnerte strengen avhenger av den lokale spesifikke versjonen av DR-DOS, fe "
Sun
", "Mon
", "Tue
", "Wed
", "Thu
", "Fri
" eller "Sat
" i den engelske versjonen. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%ERRORLEVEL%
- I
COMMAND.COM
DR-DOS 7.02 og nyere returnerer denne pseudo-variabelen det siste feilnivået som returneres av et eksternt program ellerRETURN
kommandoen fe "0
" .. "255
". Se også den identisk navngitte pseudo-variabelen%ERRORLEVEL%
under Windows og denIF ERRORLEVEL
betingede kommandoen.
-
%ERRORLVL%
- I DR-DOS 7.02 og nyere returnerer denne pseudo-variabelen det siste feilnivået i et tresifret format med ledende nuller, fe "
000
" .. "255
". Under Multiuser DOS er dette en ekte miljøvariabel som automatisk oppdateres av skallet til returkoden for avsluttende programmer. Se også den relaterte pseudo-variabelen%ERRORLEVEL%
under DR-DOS ogIF ERRORLEVEL
kommandoen.
-
%GREETING_TIME%
- Denne pseudo-variabelen returnerer 3-dagers hilsenstid. Den returnerte strengen avhenger av den lokale spesifikke versjonen av DR-DOS, fe "
morning
", "afternoon
" eller "evening
" i den engelske versjonen. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%HOUR%
- Denne pseudo-variabelen returnerer timene for gjeldende tid i 12-timers format uten ledende nuller, fe "
1
" .. "12
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%HOUR24%
- Denne pseudo-variabelen returnerer timene for gjeldende tid i 24-timers format i et 2-sifret format med ledende nuller, fe "
00
" .. "23
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript. Se også den lignende pseudo-variabelen%_HOUR%
.
-
%MINUTE%
- Denne pseudo-variabelen returnerer minuttene for gjeldende tid i et 2-sifret format med ledende nuller, fe "
00
" .. "59
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript. Se også den lignende pseudo-variabelen%_MINUTE%
.
-
%MONTH%
- Denne pseudo-variabelen returnerer månedene for gjeldende dato i et 2-sifret format med ledende nuller, fe "
01
" .. "12
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript. Se også den lignende pseudo-variabelen%_MONTH%
.
-
%MONTH_NAME%
- Denne pseudo-variabelen returnerer månedsnavnet til gjeldende dato. Den returnerte strengen avhenger av den landsspesifikke versjonen av DR-DOS, fe "
January
", "February
", "March
", "April
" "May
", "June
", "July
", "August
" "September
", "October
" eller "December
" in den engelske versjonen. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%NDAY_OF_WEEK%
- Denne pseudo-variabelen returnerer antall dager i gjeldende uke, fe "
1
" .. "7
" (med "1
" for søndag). Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%OS_VERSION%
- Denne pseudo-variabelen returnerer versjonen av operativsystemet avhengig av den nåværende innstillingen til miljøvariabelen
%VER%
. Hvis%VER%
ikke er definert,%OS_VERSION%
returnerer "off
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript, som kan returnere versjoner også for ikke-DR-DOS-versjoner av DOS.
-
%SECOND%
- Denne pseudo-variabelen returnerer sekundene av gjeldende tid i et 2-sifret format med ledende nuller, fe "
00
" .. "59
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript. Se også den lignende pseudo-variabelen%_SECOND%
.
-
%SHORT_YEAR%
- Denne pseudo-variabelen returnerer året for gjeldende dato i et tosifret format med ledende nuller, fe "
93
" .. "99
", "00
" .. "92
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%YEAR%
og%_YEAR%
- Støttet siden Novell DOS 7 ,
%YEAR%
returnerer pseudo-variabelen året for gjeldende dato i et firesifret format, fe "1980
" .. "2099
". Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript. DR-DOS 7.02 og nyere lagt til%_YEAR%
for kompatibilitet med 4DOS , og returnerer samme verdi.
-
%/%
- I
COMMAND.COM
DR-DOS 7.02 og nyere returnerer denne pseudo-variabelen gjeldende SwitChar- innstilling for systemet, enten "/
" (DOS-stil) eller "-
" (Unix-stil). Se også det relaterteCONFIG.SYS
direktivet SWITCHAR og miljøvariabelen%SWITCHAR%
.
-
%_CODEPAGE%
- Denne pseudo-variabelen returnerer systemets nåværende kodeside ("
1
" .. "65533
"), fe "437
", "850
", "858
". Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se ogsåCHCP
kommandoen.
-
%_COLUMNS%
- Denne pseudo-variabelen returnerer gjeldende antall skjermkolonner avhengig av visningsmodus, fe "
40
", "80
", "132
", etc. Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se også en lignende miljøvariabel%$WIDTH%
under DOS Plus.
-
%_COUNTRY%
- Denne pseudo-variabelen returnerer systemets nåværende landskode ("
1
" .. "65534
"), fe "1
" for USA, "44
" for Storbritannia, "49
" for Tyskland, "20049
" med ISO 8601 , "21049
" med ISO 8601 og Euro- støtte . Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se ogsåCONFIG.SYS
direktivetCOUNTRY
.
-
%_DAY%
- Denne pseudo-variabelen returnerer dagene for gjeldende dato uten nullpunkt, fe "
1
" .. "31
". Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se også den lignende pseudo-variabelen%DAY%
.
-
%_HOUR%
- Denne pseudo-variabelen returnerer timene til gjeldende tid i 24-timers format uten ledende nuller, fe "
0
" .. "23
". Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se også den lignende pseudo-variabelen%HOUR24%
.
-
%_MINUTE%
- Denne pseudo-variabelen returnerer minuttene av gjeldende tid uten å føre nuller, fe "
0
" .. "59
". Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se også den lignende pseudo-variabelen%MINUTE%
.
-
%_MONTH%
- Denne pseudo-variabelen returnerer månedene på gjeldende dato uten nullpunkt, fe "
1
" .. "12
". Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se også den lignende pseudo-variabelen%MONTH%
.
-
%_ROWS%
- Denne pseudo-variabelen returnerer gjeldende antall skjermrader avhengig av visningsmodus, fe "
25
", "43
", "50
", etc. Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se en lignende miljøvariabel%$LENGTH%
under DOS Plus.
-
%_SECOND%
- Denne pseudo-variabelen returnerer sekundene av gjeldende tid uten å føre nuller, fe "
0
" .. "59
". Denne variabelen ble opprinnelig introdusert av 4DOS , men ble også tilgjengeligCOMMAND.COM
siden DR-DOS 7.02. Se også den lignende pseudo-variabelen%SECOND%
.
Systeminformasjonsvariabler som støttes av DR-DOS COMMAND.COM
med nettverk lastet inn:
-
%LOGIN_NAME%
- Denne pseudo-variabelen returnerer brukernavnet. Dette alltid jobbet med
NETX
, men det vil også arbeide med Personal NetWare er ODI / VLM hvis gjeldende stasjonen er en Falcon-tilordnet stasjon (ellers en tom streng returneres). Se også miljøvariabelen med samme navn%LOGINNAME%
.
-
%P_STATION%
- Denne pseudo-variabelen returnerer det fysiske stasjonsnummeret i et format "
????????????
". Verdien avhenger av MAC -adressen til nettverkskortet, men kan overstyres. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%STATION%
- Denne pseudo-variabelen returnerer det logiske stasjonsnummeret som begynner med "
1
" for den første klienten. Tallene tildeles av filserveren og forblir statiske så lenge IPX -tilkoblingen forblir etablert. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript.
-
%FULL_NAME%
- Denne pseudo-variabelen returnerer hele navnet på den påloggede brukeren, hvis tilgjengelig. Den ligner en identisk navngitt identifikasjonsvariabel i Novell NetWare påloggingsskript. Se også den relaterte pseudo-variabelen
%LOGIN_NAME%
.
Windows
Dynamiske miljøvariabler (også kalt interne variabler eller systeminformasjonsvariabler under DOS) er pseudomiljøvariabler som støttes av CMD
når kommandolinjeutvidelser er aktivert, og de utvides til forskjellige diskrete verdier når de blir spurt, det vil si at verdiene deres kan endres når du spør flere ganger til og med innenfor samme kommando. Selv om de kan brukes i batchjobber og etter ledeteksten, lagres de ikke i miljøet. Følgelig er de verken oppført av SET
eller finnes for eksterne programmer å lese. De er ikke store og små bokstaver.
Indirekte støttes de også under Windows ' COMMAND.COM
, som har blitt endret for å ringe internt for CMD.EXE
å utføre kommandoene.
-
%CD%
- Denne pseudo-variabelen utvides til den nåværende katalogen som tilsvarer utdataene fra kommandoen
CD
når den kalles uten argumenter. Selv om et langt filnavn kan returneres under,CMD.EXE
avhengig av den nåværende katalogen, vil det faktum at den nåværende katalogen alltid vil være i 8.3 -format underCOMMAND.COM
føre til at den returnerer et kort filnavn underCOMMAND.COM
, selv når denCOMMAND
ringer interntCMD
.
-
%CMDCMDLINE%
- Denne pseudo-variabelen utvides til de opprinnelige oppstartsparametrene til
CMD.EXE
, fe "C:\Windows\system32\cmd.exe
". Under Windows kanCOMMAND.COM
dette returnere noe som "C:\Windows\system32\cmd.exe /c ...
" på grunn av det faktum at detCOMMAND.COM
ringerCMD.EXE
internt.
-
%CMDEXTVERSION%
- Denne pseudo-variabelen utvides til versjonen av kommandolinjeutvidelsene til
CMD.EXE
, hvis den er aktivert (f.eks. "1
" Under Windows NT ",2
" under Windows 2000 og Windows XP ).
-
%DATE%
- Denne pseudo-variabelen utvides til gjeldende dato. Datoen vises i henhold til gjeldende brukers datoformatpreferanser .
-
%ERRORLEVEL%
- Denne pseudo-variabelen utvides til det siste angitte feilnivået, en verdi mellom "
0
" og "255
" (uten ledende nuller). Eksterne kommandoer og noen interne kommandoer angir feilnivåer ved utførelse. Se også den identisk navngitte pseudo-variabelen%ERRORLEVEL%
under DR-DOS ogIF ERRORLEVEL
kommandoen.
-
%RANDOM%
- Denne pseudo-variabelen returnerer et tilfeldig tall mellom "
0
" og "32767
".
-
%TIME%
- Denne pseudo-variabelen returnerer gjeldende tid. Tiden vises i henhold til gjeldende brukers tidsformatpreferanser. Hvis
%TIME%
og%DATE%
variabler er begge brukes, er det viktig å lese dem begge i denne rekkefølgen i rask rekkefølge for å unngå midnatt-roll problemer.
Andre skjell
Unix-lignende skall har lignende dynamisk genererte variabler, bash er $RANDOM
et velkjent eksempel. Siden disse skallene har et konsept med lokale variabler, blir de i stedet beskrevet som spesielle lokale variabler.
Se også
- Variabel (informatikk)
- Liste over Unix -kommandoer
- Liste over DOS -kommandoer
- Spesiell mappe
- Moduler Miljø
- PWB -skall
Merknader
Referanser
Videre lesning
- Chen, Raymond (2010-05-06). "Hva er disse merkelige = C: miljøvariabler?" . Den nye gamle tingen . Microsoft . Arkivert fra originalen 2018-05-27 . Hentet 2017-05-27 .
Eksterne linker
- Linux Programmer's Manual - Oversikt, konvensjoner og diverse : brukermiljø -
- FreeBSD Diverse Informasjon Manual -
- Darwin og MacOS Diverse Informasjon Manual -
- Solaris 10 Standarder, miljøer og makroer Reference Manual -
- Miljøvariabler Wiki
- Brukermiljøvariabler
- fix setx.exe ikke funnet feil