See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Variabile d'ambiente (Windows) - Wikipedia

Variabile d'ambiente (Windows)

Da Wikipedia, l'enciclopedia libera.

bussola Nota disambigua – Se stai cercando la descrizione di variabile d'ambiente per altri sistemi operativi, vedi Variabile d'ambiente.

Nei sistemi operativi Microsoft Windows le variabili d'ambiente sono un tipo di variabili specifiche per processo[1] che esibiscono le seguenti caratteristiche:

  • sono accessibili attraverso un'apposita API del sistema operativo;
  • in fase di creazione di un nuovo processo, sono inizializzate con una copia dei valori provvisti dal processo padre; il comportamento predefinito è quello di usare una copia delle variabili d'ambiente del processo creante[1];
  • un processo non può modificare direttamente le variabili d'ambiente di un altro processo, tuttavia esiste un ambiente di riferimento che i processi possono consultare[2] e modificare[3], e che viene usato dalla shell grafica per inizializzare le variabili d'ambiente dei programmi che avvia.

L'uso delle variabili d'ambiente come strumento di configurazione è andato via via riducendosi al minimo, dato che questa funzione è affidata al registro di sistema.

Indice

[modifica] Ambiente di riferimento

Nei sistemi Microsoft Windows NT (quindi anche Windows 2000, Windows XP e successivi) è presente un ambiente di riferimento che la shell grafica usa per inizializzare le variabili d'ambiente dei nuovi processi che avvia, e che può essere modificato sia dai processi in generale che tramite un'apposita interfaccia grafica. Esso è strutturato in tre livelli[4]:

  1. il livello delle variabili d'ambiente di sistema, alcune delle quali sono nascoste e/o di uso riservato al sistema; soltanto gli amministratori del sistema possono aggiungere o modificare variabili d'ambiente di questo tipo;
  2. il livello delle variabili d'ambiente utente; esse sono specifiche per il particolare utente, che può liberamente assegnare valori e creare nuove variabili. Una variabile d'ambiente utente maschera una variabile d'ambiente di sistema che abbia lo stesso nome, con l'eccezione della variabile PATH, che invece viene concatenata a quella di sistema;
  3. il livello delle variabili d'ambiente assegnate in autoexec.bat, che esistono solamente per preservare la compatibilità con alcuni programmi MS-DOS.

Le variabili d'ambiente di sistema e le variabili d'ambiente utente possono essere modificate a caldo, senza richiedere un riavvio del sistema: i nuovi processi hanno visibilità immediata delle modifiche, mentre i processi preesistenti debbono essere riavviati per far prendere in considerazione i nuovi valori.

Le variabili d'ambiente assegnate in autoexec.bat sono assegnate in maniera stabile all'avvio del sistema e non possono essere modificate a caldo, tuttavia è possibile mascherarne i valori con delle variabili d'ambiente utente aventi lo stesso nome.

Ogni programma che avvia altri programmi ha la possibilità e l'onere di consultare l'ambiente di riferimento in modo da provvedere un insieme adeguato di variabili d'ambiente ai programmi avviati, oppure può limitarsi a passare una copia delle proprie variabili d'ambiente (in maniera non dissimile da quanto avviene per i sistemi Unix e Unix-like), confidando che l'ambiente di riferimento non sia stato nel frattempo modificato.

[modifica] Vincoli su nomi e valori

Nei sistemi Microsoft Windows e MS-DOS non viene fatta distinzione tra lettere maiuscole e minuscole nei nomi delle variabili d'ambiente, per cui "PATH" equivale a "Path" e "path"; è tuttavia comune specificare i nomi esclusivamente con lettere maiuscole, ed usare solo lettere (e non ad esempio cifre).

Per il modo in cui sono memorizzate, i nomi delle variabili d'ambiente non possono contenere il carattere uguale ("=")[3] , ed i valori possono essere stringhe di caratteri ANSI (oppure Unicode) terminate da un byte a zero (o due in caso di stringhe Unicode). Ne consegue che il nome ed il valore di una variabile d'ambiente non possono direttamente contenere dati binari.

I valori delle variabili d'ambiente di sistema non possono eccedere i 1024 caratteri.[3]

[modifica] Utilizzo

Nell'interfaccia a linea di comando di tutti i sistemi Microsoft Windows e MS-DOS è possibile assegnare un valore ad una variabile d'ambiente tramite il comando set[5] (sostituendo un eventuale valore assegnato in precedenza), ed utilizzarne il valore nelle righe di comando e nei file batch specificandone il nome tra caratteri "%". Ad esempio, in un file batch:

 set NOME=alice
 echo %NOME%

È anche possibile combinare le due cose, ad esempio per estendere il valore di una variabile d'ambiente includendo nel nuovo valore anche il valore precedente:

 set PATH=%PATH%;C:\alice

La visibilità delle variabili d'ambiente assegnate in questo modo è limitata allo specifico interprete dei comandi ed ai programmi da esso avviati. Per modificare anche l'ambiente di riferimento è possibile usare il comando setx[6]

[modifica] Variabili d'ambiente di rilievo

[modifica] PATH

La variabile d'ambiente PATH specifica un elenco di directory separate da punto e virgola ";" in cui il sistema ricerca i file eseguibili (nell'ordine in cui sono indicate), oltre che nella directory corrente.

Essa è usata quando il nome del file eseguibile non è qualificato con il percorso della directory che lo contiene, sia per programmi che per librerie software.

È quindi pratica comune, in fase di installazione di un nuovo programma, estendere il valore di questa variabile d'ambiente in modo da includere anche la directory ove risiedono i file eseguibili del programma che è stato installato.

Essa costituisce un'eccezione alla regola per cui i valori delle le variabili d'ambiente utente mascherano il valore di variabili d'ambiente di sistema con lo stesso nome: il valore utente in questo caso viene concatenato al valore di sistema invece di sostituirlo.

[modifica] PATHEXT

Questa variabile contiene un elenco separato da separate da punto e virgola ";" delle estensioni che un nome di file deve avere per essere considerato eseguibile dal sistema. Un valore tipico è:

 .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH

[modifica] TEMP e TMP

Queste variabili indicano il percorso completo a delle directory destinate a contenere dei file temporanei.

[modifica] Note

  1. ^ a b (EN) Changing Environment Variables (Windows). URL consultato il 31-05-2008.
  2. ^ (EN) CreateEnvironmentBlock Function. URL consultato il 31-05-2008.
  3. ^ a b c (EN) Environment Variables (Windows). URL consultato il 31-05-2008.
  4. ^ Variabili d'ambiente in Windows NT. 03-02-2006. URL consultato il 24-05-2008.
  5. ^ (EN) Set. URL consultato il 24-05-2008.
  6. ^ setx. URL consultato il 31-05-2008.

[modifica] Collegamenti esterni


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -