AGGIORNAMENTO N. 2 - Ora alla domanda reale : perché le variabili nidificate create dall'utente non riescono ad espandersi?
Ci sono alcuni problemi generali riguardanti l'espansione variabile in Windows. Ho già riscontrato lo stesso problema e non ho trovato circostanze chiare e riproducibili: il livello di ricorsione in cui l'espansione fallisce non è coerente, i personaggi speciali non sembrano avere un ruolo, ecc.
L'unica soluzione possibile che ho trovato è l'aggiunta di variabili livello di ricorsione per livello di ricorsione. Ciò significa: prova a eliminare tutte le variabili che desideri annidare l'una nell'altra (comprese le chiamate da PATH alle variabili definite dall'utente), quindi esegui l'avvio da zero. Definisci le tue variabili di base (ecc. ANT-HOME), esegui il commit, controlla se è espanso, se lo è, continua con il commit di livello successivo, controlla ... ottieni l'idea.
RISPOSTA AGGIORNATA - Definizione di variabili di ambiente permanenti utilizzando l'interfaccia della riga di comando e la GUI - Scorrere verso il basso per la risposta originale
Metodo GUI:
Su Windows 7, digita semplicemente "sistema" nel META-Prompt e vedrai la voce "Modifica le variabili di ambiente di sistema". Da lì, fai clic su "Variabili d'ambiente". Qui puoi modificare la variabile di sistema PATH (elenco in basso) o aggiungere / modificare una nuova variabile PATH nelle variabili di ambiente dell'utente.
Metodo da riga di comando:
Per modificare le variabili di ambiente in modo permanente, è necessario utilizzare il comando SETX nella riga di comando di Windows. A differenza di altre versioni di Windows, è integrato in Windows 7. La sua sintassi differisce molto da SET, ma è anche potente. Dovrai stare un po 'attento, è facile fare confusione con le tue variabili con SETX.
Per impostazione predefinita, si modificano le variabili utente . Puoi avere una variabile d'ambiente utente PATH che coesiste felicemente con la variabile PATH di sistema. Se non lo hai ancora definito, fallo digitando:SETX PATH yourpath
È inoltre possibile aggiungere un valore alla variabile di sistema PATH. Per fare ciò, devi prima aprire una riga di comando con privilegi di amministratore. Per fare ciò, premi il tasto Meta (Windows), digita cmd
e premi CTRL
+ SHIFT
+ ENTER
e conferma la finestra di dialogo Controllo dell'account utente.
Per aggiungere nuovi valori al percorso, ora puoi inserire
setx path "%path%;yournewpath" /m
È importante seguire questa sintassi! Se non includi prima% percorso%, tutti i valori esistenti del percorso andranno persi e sostituiti solo con il tuo nuovo percorso.
L'opzione / m alla fine imposta la variabile nell'ambiente di sistema.
Tieni presente che dovrai utilizzare una nuova riga di comando per utilizzare la tua nuova variabile.
C'è anche un riferimento completo per SETX su TechNet .
RISPOSTA VECCHIA
Il comando SET aggiorna le variabili solo per la durata della sessione corrente della riga di comando.
La sintassi corretta per aggiungere un valore a una variabile è 'set [variabile] =% [variabile]%; [nuovo valore] `
Nota che a sinistra del segno di uguale, devi omettere i segni di percentuale!
Fonte: riferimento della riga di comando TechNet per Windows Server