Les variables d'entorn formen un conjunt devalors dinàmics que normalment afecten el comportament delsprocessos d'unordinador.
És possible accedir al valor d'una variable, tant per consultar-a com per modificar-la, dins descripts i també des de lalínia d'ordres. La forma en què s'accedeix al contingut d'una variable varia entre cadasistema operatiu. En el cas de sistemesUnix, depèn de l'intèrpret d'ordres (o shell) que es faci servir, ja que aquest és l'encarregat del tractament de les variables d'entorn.
Per exemple, per mostrar el contingut de la variable d'entorn PATH (que manté laruta de recerca de programes en el sistema), teclejar des de la línia d'ordres:
set% PATH%
La comanda SET, sense arguments, mostra totes les variables d'entorn juntament amb els seus respectius valors.
Per assignar un valor a una variable s'usa:[1]
SET VARIABLE = valor
Cal esmentar que aquesta assignació serà visible des de tots els programes iniciats a partir d'aquest moment des de la mateixa finestra de línia d'ordres, però no des d'altres, ni es mantindrà de forma permanent.
Per aconseguir un canvi permanent, es pot usar la comanda SETX (opcional, disponible dins de les Eines de Suport).[2] O bé, des de l'escriptori de Windows XP:
Els valors inicials de les variables d'entorn s'emmagatzemen en el registre de Windows, així que una tercera forma d'aconseguir un canvi permanent és modificant aquests valors inicials. Les variables de l'usuari s'emmagatzemen en HKEY_CURRENT_USER \Environment i les variables del sistema en HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control \Session Manager \Environment.
El maneig de variables d'entorn en Windows ha estat millorat (a partir de XP i versions posteriors). Per exemple, per mostrar el PATH del sistema, però utilitzant les Barres '/' en lloc de ' \':
> Fet% PATH: \ =/%C:/Windows/System32; C:/WINDOWS; C:/WINDOWS/System32/Wbem; C:/fitxers de programa/QuickTime/QTSystem/; C:/fitxers de programa/fitxers comuns/Adobe/AGL
Per guardar a la variable YEAR l'any actual (els últims quatre caràcters de la variable% DATE%):
> Set YEAR =% DATE: # -4%> Fet% YEAR%2010
En diverses interfícies text d'Unix i Linux, com per exemple enbash, es mostra el valor d'una variable mitjançant:
echo $ PATH
Les comandes 'env ', ' setembre ', i ' printenv ' mostren totes les variables d'entorn juntament amb els seus respectius valors.env i setembre s'usen també per assignar valors a variables d'entorn i normalment són funcions incorporades de l'intèrpret d'ordres. printenv permet també mostrar el valor d'una variable d'entorn particular si se li passa el seu nom com a únic paràmetre.
La forma d'assignar un valor a una variable és:
variable = valor
Es poden utilitzar també els següents comandaments, encara que depenen de l'intèrpret.
export VARIABLE = valor # enBourne Shell i intèrprets de comandaments relacionats.setenv VARIABLE valor # encsh i intèrprets de comandaments relacionats.
El maneig de variables d'entorn és altament versàtil en entorns UNIX/Linux.
Aquesta variable conté la ruta completa al processador d'ordres, cmd.exe
Aquesta variable conté una llista separada perpunt i comes de directoris en els quals l'intèrpret d'ordres buscarà elsfitxers executables que no es invoquen amb una ruta explícita. Nota: és possible assignar valors a PATH amb la comanda homònim, sense necessitat d'utilitzar SET. Per exemple, per poder invocar el navegador firefox des de qualsevol directori:
PATH =% PATH%; c: \fitxers de programa \Mozilla firefox
Si obrim un nou intèrpret d'ordres i escrivim
firefoxhttp://ca.wikipedia.org
s'obrirà una finestra del navegador, sense necessitat d'escriure la ruta completa al programa.
Aquesta variable conté una llista separada perpunt i comes amb les extensions conegudes dels fitxers executables. Si el nom d'un executable acaben amb una extensió inclosa en aquesta llista, és possible ometre aquesta extensió en invocar el programa. Un valor típic és . COM,. EXE,. BAT,. CMD,. VBS,. VBE,. JS,. JSE,. WSF;. WSH . Per exemple, pel fet que. EXE està a la llista, podem escriure firefox (en lloc de firefox.exe) per invocar.
Aquestes variables contenen la ruta al directori on emmagatzemarfitxers temporals.Nota:% TEMP% en MS-DOS 5 apuntava sovint a C: \DOS, de manera que eliminar tots els fitxers de% TEMP% podia causar molts problemes. El creador delnavegador web Arachne no va considerar aquesta possibilitat, el que li va generar diverses crítiques.[3]
Variable | Windows XP | Windows Vista/7 |
---|---|---|
% ALLUSERSPROFILE% (% PROGRAMDATA%) | C: \Documents and Settings \All Users | C: \ProgramData |
% APPDATA% | C: \Documents and Settings \{username}\Dades de Programa | C: \Users \{username}\AppData \Roaming |
% COMPUTERNAME% | {Nombredeordenador} | {Nombredeordenador} |
% COMMONPROGRAMFILES% | C: \fitxers de programa \Archivos comunes | C: \fitxers de programa \Archivos comunes |
% COMMONPROGRAMFILES (x86)% | C: \fitxers de programa (x86) \fitxers comuns | C: \fitxers de programa (x86) \fitxers comuns |
% COMSPEC% | C: \Windows \System32 \cmd.exe | C: \Windows \System32 \cmd.exe |
% HOMEDRIVE% | C: \ | C: \ |
% HOMEPATH% | C: \Documents and Settings \{username} | \Usuaris \{username} |
% LOCALAPPDATA% | No disponible si és una declaració explícita. | C: \Usuaris \{username}\Application Data \Local |
% LOGONSERVER% | \ \{Domain_logon_server} | \ \{Domain_logon_server} |
% PATH% | C: \Windows \system32, C: \Windows, C: \Windows \System32 \Wbem | C: \Windows \system32, C: \Windows, C: \Windows \System32 \Wbem |
% PATHEXT% | . COM,. EXE,. BAT,. CMD,. VBS,. VBE,. JS,. WSF,. WSH | . Com,. Exe,. Bat,. Cmd,. Vbs,. Vbe,. Js,. JSE,. WSF,. WSH,. Msc |
% PROGRAMFILES% | C: \Program \ | C: \Program \ |
% PROGRAMFILES (X86)% | C: \fitxers de programa (x86) (només en versions 64 bits) | C: \fitxers de programa (x86) (només en versions 64 bits) |
% PROMPT% | Codi del format decmd.exe. El codi és normalment $ P $ G | Codi del format decmd.exe. El codi és normalment $ P $ G |
% SystemDrive% | C: \ | C: \ |
% SystemRoot% | Catàleg deWindows, normalment C: \Windows; anteriorment C: \WinNT | C: \Windows |
% TEMP% i% TMP% | C: \Documents and Settings \{username}\Local Settings \Temp | C: \Users \{username}\AppData \Local \Temp |
% USERDOMAIN% | {Userdomain} | {Userdomain} |
% USERNAME% | {Username} | {Username} |
% USERPROFILE% | % SystemDrive% \Documents and Settings \{username} | C: \Users \{username} |
% WINDIR% | C: \Windows | C: \Windows |
% PUBLIC% | C: \Users \Public | |
% PSModulePath% | % SystemRoot% \system32 \WindowsPowerShell \v1.0 \Modules \ |
No emmagatzemen un valor fix, sinó que s'avaluen al moment de demanar el seu valor.
S'expandeix a la cadena del directori actual.
S'expandeix a la data actual usant el mateix format que la comanda DATE.
S'expandeix a l'hora actual usant el mateix format que la comanda TIME.
S'expandeix a un nombre decimal aleatori entre 0 i 32.767.
S'expandeix al valor de NIVELL D'ERROR actual (usualment, el codi de retorn de l'últim ordre extern executat).
S'expandeix al nombre de versions de les extensions del processador d'ordres.
S'expandeix a la línia d'ordres original que va invocar el processador d'ordres.
Conté una llista separada perdos punts de directoris en els quals l'intèrpret d'ordres buscarà els fitxers executables que no es invoquen amb una ruta. Per raons òbvies de seguretat, normalment aquesta variable d'entorn no conté el directori corrent.
Conté la ubicació del directori d'usuari. D'aquesta manera, els dos ordres següents tenen el mateix efecte:
cd #cd $ HOME
Conté l'identificador de l' display que els programes deX11 d'usar per defecte.
LANG conté ellocale per defecte del sistema; LC_ALL permet ignorar el seu contingut. Per exemple, si conté pt_BR
, llavors l'idioma serà portuguès de Brasil i el locale serà Brasil.
És una variable d'entorn especial que, quan s'intenta obtenir el seu contingut, retorna un valor aleatori.